Je cours un échantillon (que je ne trouve plus) de Blaise Doughans blog sur Glassfish 3 en utilisant le service EclipseLink 2.5 MOXy for JAXB.Echec de la suppression d'une seule liste d'éléments
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Company {
@XmlElementWrapper(name="employees")
@XmlElement(name = "employee", type=Employee.class)
private List<Employee> employees;
}
@XmlAccessorType(XmlAccessType.FIELD)
public class Employee {
private String id;
private String name;
}
J'ai ajouté quelques annotations aux classes, pour produire la structure JSON souhaitée:
{
"employees": [
{
"id": "1",
"name": "Jane Doe",
"report": []
}
]
}
Quand je tente de désorganiser ce JSON il échoue malheureusement, le retour d'un objet avec une liste d'employés vide.
Ajout d'un autre élément à la liste JSON OU suppression des travaux @XmlElementWrapper
.
Mais je veux que l'élément clé soit nommé employees
, donc je dois utiliser l'annotation wrapper, ou pas?
Edit:
public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
HashSet<Class<?>> set = new HashSet<Class<?>>(2);
set.add(MOXyJsonProvider.class);
set.add(Index.class);
return set;
}
@Override
public Set<Object> getSingletons() {
MOXyJsonProvider moxyJsonProvider = new MOXyJsonProvider();
moxyJsonProvider.setAttributePrefix("@");
moxyJsonProvider.setFormattedOutput(true);
moxyJsonProvider.setIncludeRoot(false);
moxyJsonProvider.setMarshalEmptyCollections(true);
moxyJsonProvider.setValueWrapper("$");
moxyJsonProvider.setWrapperAsArrayName(true);
HashSet<Object> set = new HashSet<Object>(1);
set.add(moxyJsonProvider);
return set;
}
}
Merci. Donc, je pourrais saisir aujourd'hui la construction nocturne pour obtenir la version fixe? – Imperative
@Imperative - Je vais mettre le correctif dans aujourd'hui et demain, vous serez en mesure de saisir la construction du 19 Juin soir. Il est normalement disponible le matin, heure de l'Est. –