ObjectMapper转换复杂的json数据
1、首先看一眼待转换的json串:
他是一个数组对象,每个对象又包含三个节点Node、Service和Checks;
而这三个几点又都包含子节点。
2、为了转换此json字符串,并存储数据到java中,定义了几个类。
(1)首先是NodesInfo类:其类里面有三个属性。
(2)然后定义“(1)”中所需要的类:Node、Service和Checks。
(3)还有“(2)”中对象所所需要的子类:Meta和TaggedAddresses
3、然后定义了一个MyJsonUtil,就是一个处理json转换的工具类,里面定义了toList方法。
4、然后定义测试类,如果直接调用toList转换会抛出异常。
他是说Node在("node、service和checks)中找不到。
Node是json串中的第一个节点Node,后面的("node、service和checks)是读取的类NodesInfo的属性。
前面也分析过,即使在类NodesInfo中把属性名“node”改成“Node”,java也会自动识别为“node”(已经测试过)。
所以关键的点就在:要把json串中的key关键字的首字母改成小写。
5、replace替换,代码如下。\" 是转义字符,替换连着冒号一起替换,这样查找更精确。 “Node”
6、再次测试,发现ok了,可以正确的获取到数据,这个json串已经很复杂了吧。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:130
阅读量:100
阅读量:107
阅读量:157
阅读量:180