我有许多 json 对象连接成一个字符串,并且需要解析所有这些对象。简单的例子:String jsonStr = "{"name":"peter","age":40}{"name":"laura","age":50}"当使用一个ObjectMapperof jackson 来解析它时,它会找到并正确读取第一个 json,并删除字符串的其余部分。ObjectMapper objectMapper = new ObjectMapper();JsonNode rootNode = objectMapper.readTree(jsonStr);System.out.println(rootNode);给出输出 {"name":"peter","age":20}有没有办法(在杰克逊或其他框架中)例如返回读取字符的数量,或字符串的其余部分,或JsonNodes的数组?我在JavaScript和Python 中发现了具有相同目标的问题,建议使用 split by}{或 regex 将其重新格式化为 json 数组,但我仍然希望有一个更优雅的解决方案。
3 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
在 Json 中,对象结构{以}. 因此,ObjectMapper 认为只要遇到 就没有什么要处理的了}。
在 Json 中,数组用 表示[]。因此,如果您希望拥有多个元素/对象,则需要用 [] 括起来,并用逗号分隔各个对象
"[
{"name":"peter","age":40},
{"name":"laura","age":50}
]"
添加回答
举报
0/150
提交
取消