我对Jackson json课程很有兴趣。我刚刚下载了版本2.2.1,它似乎是jdk 1.5的最佳版本,这就是我们所拥有的。
我有一些json,我试图很好地解析,但想要如何使用杰克逊类的一些帮助。有人可以帮我举一个如何将数据映射到java对象的例子吗?
这是我的json ......
[{ “状态”: “绿色”, “businessDate”: “2014-07-25”, “transactionCount”:510620},{ “状态”: “绿色”, “businessDate”:“2014-07- 24" , “transactionCount”:532435},{ “状态”: “绿色”, “businessDate”: “2014年7月23日”, “transactionCount”:379355},{ “状态”: “绿色”, “businessDate” : “2014年7月22日”, “transactionCount”:321474},{ “状态”: “绿色”, “businessDate”: “2014年7月21日”, “transactionCount”:322975}]
以下是我的服务器类调用的内容......
String requestURI = "http://mycompany:9080/ReportingManager/service/repManHealth/importHistoryTrafficLightStatus.json";
URL url = new URL(requestURI);
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(in));
StringBuffer sb = new StringBuffer();
String line = null;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();
ObjectMapper mapper = new ObjectMapper();
// do some mapping here...
感谢
我的问题是我可以使用杰克逊
答案 0 :(得分:1)
杰克逊将json对象映射到豆子或pojos。您需要设置具有status,businessDate等字段的bean。对于不同的名称,请使用注释。而且你可以使用mapper来映射json字符串。
使用mapper,您的代码如下所示
mapper.readValue(jsonString, YourBean.class);
注意这里的YourBean将是用于保存json数据的POJO。
答案 1 :(得分:1)
这是一个小例子:
ObjectMapper mapper = new ObjectMapper();
MyObject obj = mapper.readValue(sb.toString(), MyObject.class);
在Bean Standard中实现MyObject时,属性名称与JSON中的属性名称匹配。一切都应该正常。 否则,使用注释将您的java对象属性正确地映射到json属性。 多数民众赞成。