Как я могу обработать oneline json файлы, используя `jq` - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть onelined файл json, который выглядит примерно так:

{"fieldA":1, "fieldB":"foo"}
{"fieldA":2, "fieldB":"bar"}
{"fieldA":4, "fieldB":"foobar"}
...

Как правильно прочитать этот файл, используя jq?

Я попытался сделать:

cat myFile.json | jq [.]

но это возвращает что-то вроде:

[{
  "fieldA":1, 
  "fieldB":"foo"
}]
[{
  "fieldA":2, 
  "fieldB":"bar"
}]
[{
  "fieldA":4, 
  "fieldB":"foobar"
}]
...

но я бы хотел получить это вместо:

[{
  "fieldA":1, 
  "fieldB":"foo"
},
{
  "fieldA":2, 
  "fieldB":"bar"
},
{
  "fieldA":4, 
  "fieldB":"foobar"
},
...]

Заранее спасибо!

1 Ответ

1 голос
/ 09 апреля 2019

Вы уверены, хотите этого? Какова ваша конечная цель? Вы можете объединить все входные данные в один массив, используя jq -n '[inputs]' (-n избегает обычного чтения stdin в ., позволяя всему этому отображаться в inputs), но это означает, что он не может производить какой-либо вывод или выполнять дальнейшую обработку, пока не будет прочитан весь ввод, что может быть, а может и не быть тем, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...