ObjectMapper转换复杂的json数据

2025-04-16 23:25:21

1、首先看一眼待转换的json串:他是一个数组对象,每个对象又包含三个节点Node、Service和Checks;而这三个几点又都包含子节点。

ObjectMapper转换复杂的json数据
ObjectMapper转换复杂的json数据
ObjectMapper转换复杂的json数据

2、为了转换此json字符串,并存储数据到java中,定义了几个类。 (1)首先是NodesInfo类:其类里面有三个属性。 (2)然后定义“(1)”中所需要的类:Node、Service和Checks。 (3)还有“(2)”中对象所所需要的子类:Meta和TaggedAddresses

ObjectMapper转换复杂的json数据
ObjectMapper转换复杂的json数据

3、然后定义了一个MyJsonUtil,就是一个处理json转换的工具类,里面定义了toList方法。

ObjectMapper转换复杂的json数据
ObjectMapper转换复杂的json数据

4、然后定义测试类,如果直接调用toList转换会抛出异常。他是说Node在("node、service和checks)中找不到。No颊俄岿髭de是json串中的第一个节点Node,后面的("node、service和checks)是读取的类NodesInfo的属性。前面也分析过,即使在类NodesInfo中把属性名“node”改成“Node”,java也会自动识别为“node”(已经测试过)。所以关键的点就在:要把json串中的key关键字的首字母改成小写。

ObjectMapper转换复杂的json数据
ObjectMapper转换复杂的json数据
ObjectMapper转换复杂的json数据

5、replace替换,代码如下。\" 是转义字符,替换连着冒号一起替换,这样查找更精确。 “Node”

ObjectMapper转换复杂的json数据

6、再次测试,发现ok了,可以正确的获取到数据,这个json串已经很复杂了吧。

ObjectMapper转换复杂的json数据
ObjectMapper转换复杂的json数据
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢