Я конвертирую массив ответов json в мой Affiliation
Объект, а затем преобразую его в XML
Ниже приведен код для разбора JSON в Object
JsonArray json = parser.parse(jsonresponse).getAsJsonArray();
Gson gson = new Gson();
return gson.fromJson(json, new TypeToken<ArrayList<T>>(){}.getType());
Я могу получить результат в виде List
из PersonalAffiliation
объектов с каждым PersonalAffiliation
объектом в виде связанной карты дерева
public class Affliation {
private List<Personaffiliation> personalaffiliation = new ArralyList<>();
public List<Personaffiliation> getPersonaffiliation() {
return this.personalaffiliation;
}
public void setPersonaffiliation(List<Personaffiliation> personalaffiliation) {
this.personalaffiliation = personalaffiliation
}
}
public class Personaffiliation {
private String title;
private String Name;
public void setTitile(String title) {
this.title = title
}
public String getTitle() {
return this.title
}
public void setName(String name) {
this.name = name
}
public String getName() {
return this.name
}
}
Приведенный ниже вывод - всякий раз, когда я использую xstream
, как Xtsream.toXML(affiliation)
<com.example.affiliation>
<personaffiliation>
<com.google.gson.internal.LinkedTreeMap resolves to =“linked hash-map”>
<entry>
<string>title</string>
<string>Mr.</string>
</entry>
<entry>
<string>Name</string>
<string>XYZ</string>
</entry>
<com.google.gson.internal.LinkedTreeMap>
</personaffiliation>
<personaffiliation>
<com.google.gson.internal.LinkedTreeMap resolves to =“linked hash-map”>
<entry>
<string>title</string>
<string>Mrs.</string>
</entry>
<entry>
<string>Name</string>
<string>ABC</string>
</entry>
<com.google.gson.internal.LinkedTreeMap>
</personaffiliation>
</com.example.affiliation>
Но мой желаемый результат -
<com.example.affiliation>
<personaffiliation>
<title>Mr.</title>
<name>XYZ</name>
</personaffiliation>
<personaffiliation>
<title>Mrs.</title>
<name>ABC</name>
</personaffiliation>
</com.example.affiliation>
Я пытался использовать JAXB (jaxbMarshaller.marshal(affiliation, System.OUT);
), но не повезло; Я получаю следующую ошибку
javax.xml.bind.JAXBException: class com.google.gson.internal.LinkedTreeMap nor any of its super class is known in this context
Пожалуйста, помогите.