Jak wydrukować json za pomocą JQ Standalone?


31

Obecnie, gdy chcę ładnie wydrukować plik json za pomocą jq , używam:

cat file.json | grep jq .

Spodziewałbym się jednak, że jqzaakceptuję nazwę pliku jako argument bez konieczności cofania się cat.

Strona podręcznika mówi:

jq [opcje ...] filtruj [pliki ...]

... Domyślnie jq odczytuje strumień obiektów JSON (oddzielonych spacjami) od standardowego wejścia. Można podać jeden lub więcej plików, w którym to przypadku jq odczyta z nich dane wejściowe.

Ale działa:

jq file.json

kończy się niepowodzeniem, zgłaszając błędy kompilacji, że klucze nie są zdefiniowane.

Jak mam dodać plik podczas działania jq?

Odpowiedzi:


48
jq . file.json

tego szukałem. Nie zdawałem sobie sprawy, że .jest to filtr, a nie symbol zastępczy dla potokowej zawartości:

.

Absolutnie najprostszym (i najmniej interesującym) filtrem jest .. Jest to filtr, który pobiera dane wejściowe i produkuje je bez zmian jako dane wyjściowe.

A strona podręcznika wyjaśnia, że ​​filtr jest wymaganym argumentem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.