ObjectMapper转换复杂的json数据

时间:2026-02-14 09:42:09

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数据

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com