【发布时间】:2018-10-07 09:00:03
【问题描述】:
我有一个如下所示的 Json 字符串:
{
"generatedList1":{"myList":["1","2","3","4"]},
"generatedList2":{"myList":["1","6","8","2"]},
"generatedList3":{"myList":["1","12","3","11"]}
}
我想收集所有 myList 中的所有值
即[1,2,3,4,6,8,11,12]
我将字符串转换为JsonNode,然后执行JsonNode.findValues("myList"),它返回List<JsonNode>。
但是当我尝试将每个JsonNode 转换为String 时,我得到双引号和方括号作为String 的一部分,而不仅仅是数字。
我可以从String 中删除它,但它看起来很老套。
我确信必须有一种直接的方法来做到这一点。
任何帮助将不胜感激。
【问题讨论】:
-
请将您的实际代码添加到问题中(使用
{}按钮正确格式化)。听起来您直接使用JsonNode而不是您得到的List。为什么? -
我正在遍历每个节点,并且对于每个节点我都在做 mapper.writeValueAsString(node);这个字符串有双引号和方括号。 Apoorv 的解决方案对我有用。
标签: java json jackson jsonnode