简体   繁体   中英

one json object per line with jq from a large json file

Here is my json file:

[
  {
    "name": "1"
  },
  {
    "name": "2"
  },
  {
    "name": "3"
  },
  {
    "name": "4"
  }
]

i would like to get all object in a file one by line:

{"name":"1"}
{"name":"2"}
{"name":"3"}
{"name":"4"}

and my file is very big and i'am using the stream option.

Here is my attempt so far:

jq --stream -c '.[]' car.json > result.json

but it gives me:

[0,"name"]
"1"
[1,"name"]
"2"

This topic is covered in the jq FAQ . For the situation you describe you might be able to use the simpler of the two possibilities given there:

jq -cn --stream 'fromstream(1|truncate_stream(inputs))'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM