如何使用 `jq` 处理单行 json 文件
How can I process oneline json files using `jq`
我有一个单行 json 文件,看起来与此类似
{"fieldA":1, "fieldB":"foo"}
{"fieldA":2, "fieldB":"bar"}
{"fieldA":4, "fieldB":"foobar"}
...
如何使用 jq
正确读取此文件?
我试过:
cat myFile.json | jq [.]
但是这个 returns 类似于:
[{
"fieldA":1,
"fieldB":"foo"
}]
[{
"fieldA":2,
"fieldB":"bar"
}]
[{
"fieldA":4,
"fieldB":"foobar"
}]
...
但我想收到这个:
[{
"fieldA":1,
"fieldB":"foo"
},
{
"fieldA":2,
"fieldB":"bar"
},
{
"fieldA":4,
"fieldB":"foobar"
},
...]
提前致谢!
你确定你想要吗?你的最终目标是什么?您可以使用 jq -n '[inputs]'
将所有输入合并到一个数组中(-n
避免通常将标准输入读入 .
,允许它全部出现在 inputs
上),但这意味着在读取整个输入之前它无法产生任何输出或进行任何进一步处理,这可能是也可能不是您想要的。
我有一个单行 json 文件,看起来与此类似
{"fieldA":1, "fieldB":"foo"}
{"fieldA":2, "fieldB":"bar"}
{"fieldA":4, "fieldB":"foobar"}
...
如何使用 jq
正确读取此文件?
我试过:
cat myFile.json | jq [.]
但是这个 returns 类似于:
[{
"fieldA":1,
"fieldB":"foo"
}]
[{
"fieldA":2,
"fieldB":"bar"
}]
[{
"fieldA":4,
"fieldB":"foobar"
}]
...
但我想收到这个:
[{
"fieldA":1,
"fieldB":"foo"
},
{
"fieldA":2,
"fieldB":"bar"
},
{
"fieldA":4,
"fieldB":"foobar"
},
...]
提前致谢!
你确定你想要吗?你的最终目标是什么?您可以使用 jq -n '[inputs]'
将所有输入合并到一个数组中(-n
避免通常将标准输入读入 .
,允许它全部出现在 inputs
上),但这意味着在读取整个输入之前它无法产生任何输出或进行任何进一步处理,这可能是也可能不是您想要的。