如何拆分缺少分隔符的畸形JSON字符串并调整为合法格式
问题解决方法
核心逻辑
你当前的畸形JSON仅存在平级对象之间缺逗号的问题,没有嵌套{}的复杂结构,直接全局替换}{为},{即可完成修复。
各场景实现示例
- JavaScript 代码实现
const badJsonStr = '{{"value":1}{"value":2}{"value":3}}'; const goodJsonStr = badJsonStr.replaceAll('}{', '},{'); // 输出结果:{{"value":1},{"value":2},{"value":3}}
- Python 代码实现
bad_json_str = '{{"value":1}{"value":2}{"value":3}}' good_json_str = bad_json_str.replace('}{', '},{')
- 命令行快速处理(sed工具)
echo '{{"value":1}{"value":2}{"value":3}}' | sed 's/}{/},{/g'
复杂场景兼容
如果你后续遇到存在嵌套对象的同类畸形JSON,不要用全局替换的方式,建议使用支持容错解析的JSON库处理:
- Python 可使用
demjson库,设置strict=False解析畸形JSON后再序列化回标准格式 - JavaScript 可使用
json5库,直接兼容无逗号的对象语法
内容的提问来源于stack exchange,提问作者Cristian Plata
相关产品推荐
相关产品推荐

