Je convertis un fichier JSON dans une ArrayList, puis en XML en utilisant Jackson. Il est affiché dans Firefox mais juste comme une chaîne normale. En utilisant l'outil Inspecter l'élément, j'obtiens tout le format XML. Quelle fonction puis-je utiliser pour l'afficher correctement sur le navigateur?Afficher correctement XML dans Firefox avec Jackson
Ma méthode:
private void init() throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
InputStream is = MyClass[].class.getResourceAsStream("/config/myList.json");
myList= Arrays.asList(mapper.readValue(is, MyClass[].class));
XmlMapper xmlMapper = new XmlMapper();
for(MyClass test : myList){
String asXml += xmlMapper.writeValueAsString(test);
}
LOGGER.info("asXml: {}.", asXml);
}
sortie souhaitée dans le navigateur:
<myclass xmlns="">
<myclass>XyClass</ci>
<myname>XyName</ci>
...
</myclass>
sortie actuelle: XyClassXyName ...
simplifié tout à fait la classe ressemble à ceci:
@JacksonXmlRootElement(localName ="MyClass")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MyClass {
@XmlElement(required = true)
private String class;
@XmlElement(required = true)
private String name;
//....
//standard constructor
public MyClass() { }
public CI(String class, String name){
this.class = class;
this.name = name;
}
public String getClass() {
return class;
}
public String getName() {
return name;
}
public void setClass(String class) {
this.class = class;
}
public void setName(String name) {
this.name = name;
}
}
Une autre chose étrange est que j'ai les annotations exactes dans une autre classe, en essayant la même chose avec ça et là le navigateur n'affiche rien ... Merci pour toute aide.
Quelle version de Jackson vous utilisez? – entpnerd
Essayer de reproduire votre problème au niveau local. Pourriez-vous inclure votre code MyClass dans votre question? – entpnerd