繁体   English   中英

杰克逊JSON映射器

[英]Jackson json mapper

我是杰克逊json类的新手。 我刚刚下载了2.2.1版,这似乎是jdk 1.5的最佳版本。

我有一些我想很好地解析的json,但希望获得有关如何使用jackson类的帮助。 有人可以帮我举一个如何将数据映射到Java对象的示例吗?

这是我的json ...

[{“ status”:“ GREEN”,“ businessDate”:“ 2014-07-25”,“ transactionCount”:510620},{“ status”:“ GREEN”,“ businessDate”:“ 2014-07-24”, “ transactionCount”:532435},{“ status”:“ GREEN”,“ businessDate”:“ 2014-07-23”,“ transactionCount”:379355},{“ status”:“ GREEN”,“ businessDate”:“ 2014 -07-22“,” transactionCount“:321474},{” status“:” GREEN“,” businessDate“:” 2014-07-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...

谢谢

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

杰克逊将json对象映射到bean或pojos。 您需要设置具有诸如status,businessDate等字段的Bean。对于不同的名称,请使用注释。 然后您可以使用mapper映射json字符串。

使用映射器,您的代码如下所示

mapper.readValue(jsonString, YourBean.class);

注意这里,YourBean将是用于保存json数据的POJO。

这是一个小例子:

ObjectMapper mapper = new ObjectMapper();
MyObject obj = mapper.readValue(sb.toString(), MyObject.class);

当在Bean Standard中实现MyObject并且属性名称与JSON中的属性名称匹配时。 一切都应该正常工作。 否则,请使用批注将Java对象属性正确映射到json属性。 就这样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM