You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多行多记录JSON字符串转换为单行JSON记录?

嘿,我刚好处理过类似的需求!把这种逗号分隔的多行JSON记录转成每条单独的单行JSON,这里有几个实用的方法:

方法1:用Python脚本批量处理

如果你习惯用代码处理,可以写个简单的Python脚本,自动把每个JSON对象转成单行:

import json
import re

# 假设这是你的原始JSON字符串
raw_json_str = '''{ "field1" : "aa11", "field2" : "aa22", "structField" : { "sf1" : "aaa11", "sf2" : "aaa22" } }, { "field1" : "bb11", "field2" : "bb22", "structField" : { "sf1" : "bbb11", "sf2" : "bbb22" } }'''

# 拆分每个独立的JSON对象(处理逗号分隔的情况)
json_objects = re.split(r'(?<=}),\s*(?={)', raw_json_str)

# 逐个转成单行JSON并输出
for obj in json_objects:
    try:
        parsed = json.loads(obj)
        print(json.dumps(parsed))
    except json.JSONDecodeError as e:
        print(f"解析出错:{e}")

这个脚本会自动拆分每个JSON对象,然后用json.dumps()输出紧凑的单行格式,还能处理解析错误的情况。

方法2:用命令行工具jq(推荐给熟悉终端的同学)

如果你的数据在文件里,或者能拿到终端里处理,jq工具简直是神器!只需要一行命令:

# 如果你是处理文件:
jq -c '.' your_input_file.json

# 如果是处理字符串:
echo '{ "field1" : "aa11", ... }, { "field2" : "bb11", ... }' | jq -c '.'

-c参数就是告诉jq输出紧凑的单行JSON,它会自动处理嵌套结构,完美输出每条单行记录。

方法3:手动调整(适合少量数据)

如果数据量很小,不想折腾工具,也可以手动处理:

  • 先把所有换行符和多余的空格删掉
  • 找到每个},的位置,在后面加个换行
  • 注意要保留嵌套结构里的},别误删

不过这个方法只适合几条数据的情况,数据多了很容易出错,不推荐。

内容的提问来源于stack exchange,提问作者icuefue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:55:42