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

能否将对象集合序列化为每行一个JSON对象?

可以实现!这种格式叫做JSON Lines(JSONL)

当然没问题啦!你说的这种每行一个独立JSON对象的格式,其实有个专门的名字——JSON Lines(常简称JSONL),它本身就是一种被广泛使用的标准格式,特别适合处理大量结构化数据或者流式场景。

核心思路很简单:不要把整个对象集合当成一个JSON数组来序列化,而是逐个处理每个对象,把每个对象单独序列化为合法的JSON字符串,然后每行写入一个。

举个Python的实际例子吧:
假设你有这样一个对象列表:

data = [
    {"tag1": "value1", "tag2": "value2"},
    {"tag1": "value3", "tag2": "value6"},
    {"tag1": "value4", "tag2": "value7"},
    {"tag1": "value5", "tag2": "value8"}
]

不要用常规的json.dumps(data)生成数组,而是遍历每个对象单独序列化:

import json

# 写入文件
with open('output.jsonl', 'w', encoding='utf-8') as f:
    for item in data:
        json.dump(item, f)  # 把单个对象转成JSON字符串写入
        f.write('\n')       # 写完一个就换行

这样生成的文件内容就是你想要的样子:

{"tag1": "value1", "tag2": "value2"}
{"tag1": "value3", "tag2": "value6"}
{"tag1": "value4", "tag2": "value7"}
{"tag1": "value5", "tag2": "value8"}

需要注意的是,每个单独的对象必须符合JSON规范(比如键必须用双引号包裹,你的示例里键没加双引号,实际使用时要修正哦)。

其他编程语言的实现逻辑也是类似的,只要找到对应的JSON序列化方法,逐个处理对象并换行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:23:31