J'essaie d'utiliser SOJO pour sérialiser un objet Java en CSV. L'exemple semble assez simple:Java SOJO CSV Sérialisation
Car car = new Car("My Car");
car.setDescription("This is my car.");
Serializer csvSerializer = new CsvSerializer();
String csvStr = (String) csvSerializer.serialize(car);
System.out.println(csvStr);
// print:
// description,build,properties,name,~unique-id~,class
// This is my car.,,,My Car,0,test.net.sf.sojo.model.Car
J'ai essayé d'implémenter ma propre version de l'exemple. J'ai fait une classe Car
très simple avec deux champs String
(build
et description
) qui implémente une méthode setDescription(..)
.
C'est ce que je mis en œuvre:
import net.sf.sojo.interchange.csv.CsvSerializer;
public class Main {
private class Car
{
private String build;
private String description;
public Car(String build) {
this.build = build;
this.description = null;
}
public void setDescription(String description) {
this.description = description;
}
}
public static void main(String[] args) {
Main m = new Main();
Car car = m.new Car("My Car");
car.setDescription("This is my car.");
CsvSerializer csvSerializer = new CsvSerializer();
String csvStr = (String) csvSerializer.serialize(car);
System.out.println(csvStr);
}
}
Cependant, quand je lance mon application, je reçois la sortie suivante:
~unique-id~,class,description
0,Main$Car,
Je ne comprends pas pourquoi dans ma mise en œuvre ni le build
ou description
les champs sont sérialisés, pouvez-vous aider?
Cheers,
Pete
Ajout d'accesseur et de mutateurs travaillés! – Peter