使用Jackson

时间:2017-04-28 04:30:48

标签: java json rest jackson

我正在尝试使用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。哪一个更好。 请指教我。

1 个答案:

答案 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