ObjectMapper转换复杂的json数据

2025-10-22 03:24:06

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)中找不到。

Node是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。
猜你喜欢