如何规范拆分并解析包含多个JSON的字符串?
处理拼接JSON字符串的标准方法
直接按}{拆分确实有风险——如果JSON内部的字符串字段里包含}{(比如某个字段值是"a}{b"),这种拆分方式会直接破坏合法的JSON结构,导致解析失败。
推荐以下两种标准处理方式:
1. 修复为合法JSON数组
把整个字符串转换成标准的JSON数组格式,再整体解析:
- 操作步骤:
- 在字符串开头添加
[ - 将所有
}{替换为},{ - 在字符串末尾添加
]
- 在字符串开头添加
- 示例:
原拼接字符串:
处理后变为合法数组:{"token":" kann","finish":false}{"token":" ich","finish":false}
之后直接用常规JSON解析器解析即可,这是最稳妥的方案,只要原单个JSON合法,处理后就能正常解析。[{"token":" kann","finish":false},{"token":" ich","finish":false}]
2. 使用流式JSON解析器
如果字符串体积较大(比如流式返回的内容),不想一次性修改整个字符串,可以用支持流式解析的JSON库(比如Python的ijson、JavaScript的JSONStream)。这类库可以逐个解析出独立的JSON对象,无需提前拆分字符串,从根源上避免拆分错误的问题。
内容的提问来源于stack exchange,提问作者progNewbie
相关产品推荐
相关产品推荐

