【发布时间】:2018-09-13 16:19:25
【问题描述】:
我有包含 N 个 JSON 对象的文件,它们用逗号 (,) 分隔
{"a":1},{"b":2},{"c":3},{"d":2},{"e":1},{"f":2} ...
我想使用 jq 将它们转换成一个包含 N 个对象的 JSON 数组
[{"a":1},{"b":2},{"c":3},{"d":2},{"e":1},{"f":2} ...]
我尝试了jq -R 'split(",")' myfile.json,但它给了我一个包含 N 个字符串的数组
[
"{\"a\":1}",
"{\"b\":2}",
"{\"a\":1}",
"{\"b\":2}",
"{\"a\":1}",
"{\"b\":2}",
"{\"a\":1}",
"{\"b\":2}" ....
]
有什么想法吗?
【问题讨论】:
-
将您的输入包装在 [.....] 中可能是最简单的
-
我的文件包含数百万个json对象,也许它不是读取整个文件的有效方法?
-
请说明任何 JSON 对象是否可能包含多个键,以及任何键名称或值是否可能包含逗号。