我正在尝试使用jackson数据绑定为REST webservices创建下面的samplejson响应的客户端pojo类。
"txn": {
"TXN_DATE": {
"=": "20170428"
},
"TXN_AMT": {
"=": "2000.00"
}
"TXN_TYPE": {
"=": "SB"
}
}
它是对象内部的一种对象。所以我创建了pojo属性
private Map<String, org.json.JSONObject> test2 = null;
如果我使用org.json.JSONObject然后我得到以下异常发生:
无法写内容:找不到类的序列化程序 org.json.JSONObject并没有发现要创建的属性 BeanSerializer
否则,如果我使用 org.json.simple.JSONObject或net.sf.json.JSONObject ,则不会发生异常,并且json到pojo的转换成功。
我的疑问是为什么org.json.JSONObject不支持以及我应该在这种情况下使用哪个json包。
我也可以使用Map<String, Map<String, String>>
而不是JSONObject。哪一个更好。
请指教我。
答案 0 :(得分:1)
使用org.json.JSONObject而不是将其放在地图中。
JSONObject jObject = null;
jObject = new JSONObject(String you want to parse);
JSONObject jObject2 =jObject.getJSONObject("txn");
JSONObject jobject3 = jObject2.getJSONObject("TXN_DATE");
String jobject4 = jobject3.getString("=");
jobject4将给出20170428