我正在开发一个应该能够根据请求返回JSON
或XML
个响应的宁静网络服务。当然,在比较数据时,JSON
响应应与XML
响应相同。
问题是我无法使用Java pojo,因为返回的数据字段是动态的,它们是不可预测的。
例如,特定用户可能会收到以下响应:
{
"propertyA": "propertyA-Value",
"propertyB": "propertyB-Value",
}
......其他用户可能有:
{
"propertyA": "propertyA-Value",
"propertyB": "propertyB-Value",
"propertyC": "propertyC-Value",
}
...或XML表示将是
<results>
<propertyA>propertyA-Value</propertyA>
<propertyB>propertyB-Value</propertyB>
<propertyC>propertyC-Value</propertyC>
</results>
是否可以自动将包含上述数据的结构序列化为JSON
或XML
。通过&#34;自动&#34;,我的意思是使用可以使用任何字段的API。
我无法使用功能名称\功能 - 值结构的数组\列表,因为服务使用者需要接收上述响应。
答案 0 :(得分:0)
使用codehaus fasterxml对象映射器。可以从链接下方看到示例应用
https://github.com/abhishek24509/JsonMapper
ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
上述代码将有助于保持动态反应。你的pojo可以拥有所有可能的领域。但在映射期间,它将忽略未知