我有一个DTO类,我将它转换为json并存储到DB。现在我需要Json的相应XML文件。
Class FooDto {
private String id;
// Array of strings.
private ArrayList<String> names;
// Object of some other class having two values String socId and String socName.
private SomeOtherClass soc;
}
我正在使用 gson google库来创建json对象和xml字符串。
FooDto fooDto = new FooDto();
Gson gson = new Gson();
String jsonString = gson.toString(fooDto);
JSONObject json = new JSONObject(jsonString);
String xmlString = XML.toString(json, "Parent");
当FooDto对象的每个成员包含一些值时,它会生成一个完美的xml。
<Parent>
<id>Some id</id>
<names>John</names>
<names>Mac</names>
<soc>
<socId>123</socId>
<socName>XYZ</socName>
</soc>
</Parent>
但问题是,当对象中的值为空时,它会生成一个令人困惑的xml,之后无法转换相同的json和类对象。
对于空对象到JSON字符串是
{ID: “”, 名称:(“”), soc:{}}
对于JSON to XML String
<Parent>
</id>
</names>
<soc></soc>
</Parent>
从XML重新生成JSON
{ID:{}, 名称:{}, soc:{}}
当我从这个json创建类对象时,它会导致错误,因为它期望id为字符串,并且名称为string数组。还有其他更好的方法吗?