为了账号安全,请及时绑定邮箱和手机立即绑定

在 Java 中解析一个字符串中连接的所有 json

在 Java 中解析一个字符串中连接的所有 json

千万里不及你 2021-07-02 10:01:33
我有许多 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}

]"


查看完整回答
反对 回复 2021-07-14
  • 3 回答
  • 0 关注
  • 215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信