java - 解析具有多个 Json 元素且没有逗号分隔的字符串

标签 java json

我有一个像这样的字符串:

{"personId":"p-111","itemId":"i-111"}{"personId":"p-222","itemId":"i-222"}{"personId":"p-333","itemId":"i-333"}

我的pojo是:

ItemPurchase {
    String personId,
    String itemId
}

如何从上面给出的字符串中获取 ItemPurchase pojo 列表?

我无法使用 Jackson 获取列表,因为在开始和结束处没有逗号分隔,也没有 [ ] 括号来表明它是一个 Json 数组。

最佳答案

RFC 7159 section 2状态:

Note that certain previous specifications of JSON constrained a JSON text to be an object or an array.

看起来您的 JSON 解析器不需要一堆对象,除非它们出现在数组或容器对象中。

也许您可以升级(或切换)您的解析器,或者让生产者编写与 RFC4627 兼容的 JSON,或者使用 @ApceH Hypocrite 的解决方法并添加方括号并插入逗号以形成合法的 JSON 数组。

关于java - 解析具有多个 Json 元素且没有逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34475072/

相关文章:

java - 如何使用java代码将文件作为blob从互联网上传到azure存储?

javascript - Dojo JsonRestStore 的数组不在 JSON 响应的根级别

javascript - 安全地处理 Node 中的错误 JSON.parse()

c# - json 编码的自定义替换未按预期输出双引号

json - AWS - 通过 CloudFormation 模板文件将 ec2 实例连接到 gp3 而不是 gp2

java - 如何在 Eclipse 中高效地处理大型 Maven 项目工作区?

java - 如何遍历和修改这个 Arraylist?

java - @LazyLoading 和 JsonOutput

java - JAXB Java 和 XSD 映射

java - Avro 1.9.0 无法编译生成的 java 代码,错误消息为 : cannot find symbol method customEncode(org. apache.avro.io.Encoder)