杰克逊杰森映射器

时间:2014-07-28 09:02:04

标签: java json jackson

我对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...

感谢

我的问题是我可以使用杰克逊

2 个答案:

答案 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属性。 多数民众赞成。