Top 10 poleceń JQ, każdy programista Linux powinien wiedzieć
- 4815
- 2
- Pan Jeremiasz Więcek
JQ jest wszechstronnym procesorem JSON dla Linux, który pozwala programistom szybkie i wydajne przekazywanie danych JSON. Jego potężne funkcje sprawiają, że jest to niezbędne narzędzie dla każdego, kto pracuje z plikami JSON w systemach Linux. W tym artykule omówimy 10 najlepszych podstawowych poleceń JQ, które każdy programista Linux powinien wiedzieć, aby usprawnić swoje zadania przetwarzania JSON.
Przykładowa zawartość pliku JSON
W tym samouczku możesz użyć poniższych przykładowych danych JSON w pliku o nazwie wejście.JSON. Te dane JSON reprezentują szereg ludzi o swoich nazwiskach, wiekach, krajach i adresach:
[„Nazwa”: „Alice”, „wiek”: 35, „kraj”: „USA”, „Adres”: „Street”: „123 Main St”, „City”: „New York”, „State” „:„ NY ”,„ Zip ”:„ 10001 ”, „ Nazwa ”:„ Bob ”,„ wiek ”: 28,„ kraj ”:„ Kanada ”,„ Adres ”: „ Street ”:„ 456 Maple Ave ”,„ City ”:„ Toronto ”,„ prowincja ”:„ on ”,„ Postal_code ”:„ M5V 1A1 ”, „ Nazwa ”:„ Charlie ”,„ wiek ”: 42,„ kraj ”: „USA”, „Adres”: „Street”: „789 Oak St”, „City”: „San Francisco”, „State”: „Ca”, „Zip”: „94102”, „Nazwa” : „David”, „wiek”: 23, „kraj”: „Kanada”, „Adres”: „Street”: „321 Pine St”, „City”: „Vancouver”, „prowincja”: „BC”, „Postal_code”: „V6B 2P4”]12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | [„Nazwa”: „Alice”, „wiek”: 35, „kraj”: „USA”, „Adres”: „Street”: „123 Main St”, „City”: „New York”, „State” „:„ NY ”,„ Zip ”:„ 10001 ”, „ Nazwa ”:„ Bob ”,„ wiek ”: 28,„ kraj ”:„ Kanada ”,„ Adres ”: „ Street ”:„ 456 Maple Ave ”,„ City ”:„ Toronto ”,„ prowincja ”:„ on ”,„ Postal_code ”:„ M5V 1A1 ”, „ Nazwa ”:„ Charlie ”,„ wiek ”: 42,„ kraj ”: „USA”, „Adres”: „Street”: „789 Oak St”, „City”: „San Francisco”, „State”: „Ca”, „Zip”: „94102”, „Nazwa” : „David”, „wiek”: 23, „kraj”: „Kanada”, „Adres”: „Street”: „321 Pine St”, „City”: „Vancouver”, „prowincja”: „BC”, „Postal_code”: „V6B 2P4”] |
Zapisz tę zawartość JSON w pliku o nazwie "wejście.JSON ” i użyj go jako danych wejściowych dla różnych poleceń JQ w samouczku. Te przykładowe dane pomogą lepiej zrozumieć i ćwiczyć różne polecenia i techniki JQ przedstawione w artykule.
10 przykładów poleceń JQ dla programistów Linux
- Pretty Print JSON DATE
Aby całkiem wydrukować dane JSON, po prostu przekaż plik JSON do polecenia JQ, a następnie okres (
.
):JQ '.' wejście.JSON
- Odzyskać określony klucz JSON
Aby wyodrębnić wartość określonego klucza z obiektu JSON, użyj następującej składni:
JQ '.Klucz „Wejście.JSON1 JQ '.Klucz „Wejście.JSON Na przykład, aby wyodrębnić wartość "nazwa" Klucz, użyj:
JQ '.Nazwa „wejście.JSON
- Dostęp do zagnieżdżonych wartości JSON
Aby uzyskać dostęp do zagnieżdżonych wartości JSON, użyj DOT (
JQ '.Key1.Key2.Key3 'Wejście.JSON.
) notacja:1 JQ '.Key1.Key2.Key3 'Wejście.JSON Na przykład, aby wyodrębnić wartość "miasto" Klucz zagnieżdżony pod "adres", używać:
JQ '.adres.Wkład miasta.JSON
- Iteruj nad tablicami JSON
Użyj kwadratowych nawiasów (
[] []
) Aby iterować nad tablicami JSON:JQ '.[]' wejście.JSON
Aby wyodrębnić określone klucze z każdego obiektu w tablicy, użyj rury (
|
) Operator:JQ '.[] | .Klucz „Wejście.JSON
- Filtruj dane JSON
Aby filtrować dane JSON na podstawie określonych warunków, użyj funkcji Select:
JQ '.[] | wybierać(.key == „wartość”) '.JSON1 JQ '.[] | wybierać(.key == „wartość”) '.JSON Na przykład, aby filtrować obiekty w tablicy z "wiek" Lepszy niż 30, używać:
JQ '.[] | wybierać(.Wiek> 30) „Wejście.JSON
- Mapa i przekształć dane JSON
Aby zmapować i przekształcić dane JSON, użyj klastrowych aparatów ortodontycznych (
JQ '.[] | Key1: .Key1, Key2: .Key2 '.JSON):
1 JQ '.[] | Key1: .Key1, Key2: .Key2 '.JSON Na przykład, aby utworzyć nowy obiekt JSON z tylko "nazwa" I "wiek" klucze, użyj:
JQ '.[] | nazwa: .imię Wiek: .wiek „dane wejściowe.JSON
- Połącz wiele plików JSON
Aby połączyć dwa pliki JSON, użyj
*
operator:JQ -s '.[0] * .[1] „plik 1.plik JSON2.JSON
- Wykonaj operacje arytmetyczne
JQ może wykonywać operacje arytmetyczne na wartościach numerycznych JSON:
JQ '.numer 1 + .Numer2 'Wejście.JSON1 JQ '.numer 1 + .Numer2 'Wejście.JSON Na przykład, aby obliczyć sumę dwóch liczb w pliku JSON, użyj:
JQ '.numer 1 + .Numer2 'Wejście.JSON
- Sortuj dane JSON
Aby sortować dane JSON na podstawie określonego klucza, użyj 'Sortuj według' funkcjonować:
JQ '.[] | Sortuj według(.klucz) „Wejście.JSON1 JQ '.[] | Sortuj według(.klucz) „Wejście.JSON Na przykład, aby posortować tablicę obiektów przez "wiek" Klucz, użyj:
JQ '.[] | Sortuj według(.wiek) „Wejście.JSON
- Dane grupy JSON
Aby zgrupować dane JSON na podstawie określonego klucza, użyj 'Grupuj według' funkcjonować:
JQ 'Group_by (.klucz) „Wejście.JSON1 JQ 'Group_by (.klucz) „Wejście.JSON Na przykład, aby pogrupować tablicę obiektów przez "kraj" Klucz, użyj:
JQ 'Group_by (.kraj) „Wkład.JSON
Wniosek
Te 10 najważniejszych poleceń JQ oferuje solidne podstawy dla programistów Linux pracujących z plikami JSON. Opanowanie tych poleceń pomoże ci bardziej efektywnie analizować, filtrować i manipulować danymi JSON, ostatecznie zwiększając swój przepływ pracy programistycznej.
Gdy zdobywasz doświadczenie z JQ, odkryjesz jeszcze bardziej zaawansowane funkcje i techniki, które zaspokajają Twoje konkretne potrzeby. Narzędzie wiersza poleceń JQ jest nieocenionym zasobem dla każdego programisty pracującego z danymi JSON w systemach Linux, a znajomość tych niezbędnych rzeczy będzie służyć jako silny punkt wyjścia w Twojej podróży do zostania energią elektrowni JQ.
Aby jeszcze bardziej poszerzyć swoją wiedzę JQ, rozważ nurkowanie w oficjalnej dokumentacji JQ (https: // stedolan.github.IO/JQ/Manual/) i eksplorowanie zasobów społecznościowych, takich jak samouczki, posty na blogu i forum. W miarę wyostrzenia umiejętności JQ odblokujesz pełny potencjał tego potężnego narzędzia do przetwarzania JSON, co czyni go integralną częścią zestawu narzędzi programistycznych Linux.
- « Zrozumienie 2> i 1 w Bash a początkujący przewodnik
- Zrozumienie różnicy między „git ciągnie” i „git fetch” »