Top 10 poleceń JQ, każdy programista Linux powinien wiedzieć

Top 10 poleceń JQ, każdy programista Linux powinien wiedzieć

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

  1. Pretty Print JSON DATE
  2. Aby całkiem wydrukować dane JSON, po prostu przekaż plik JSON do polecenia JQ, a następnie okres (.):

    JQ '.' wejście.JSON  

  3. Odzyskać określony klucz JSON
  4. Aby wyodrębnić wartość określonego klucza z obiektu JSON, użyj następującej składni:

    JQ '.Klucz „Wejście.JSON
    1JQ '.Klucz „Wejście.JSON

    Na przykład, aby wyodrębnić wartość "nazwa" Klucz, użyj:

    JQ '.Nazwa „wejście.JSON  

  5. Dostęp do zagnieżdżonych wartości JSON
  6. Aby uzyskać dostęp do zagnieżdżonych wartości JSON, użyj DOT (.) notacja:

    JQ '.Key1.Key2.Key3 'Wejście.JSON
    1JQ '.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  

  7. Iteruj nad tablicami JSON
  8. 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  

  9. Filtruj dane JSON
  10. Aby filtrować dane JSON na podstawie określonych warunków, użyj funkcji Select:

    JQ '.[] | wybierać(.key == „wartość”) '.JSON
    1JQ '.[] | 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  

  11. Mapa i przekształć dane JSON
  12. Aby zmapować i przekształcić dane JSON, użyj klastrowych aparatów ortodontycznych ():

    JQ '.[] | Key1: .Key1, Key2: .Key2 '.JSON
    1JQ '.[] | 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  

  13. Połącz wiele plików JSON
  14. Aby połączyć dwa pliki JSON, użyj * operator:

    JQ -s '.[0] * .[1] „plik 1.plik JSON2.JSON  

  15. Wykonaj operacje arytmetyczne
  16. JQ może wykonywać operacje arytmetyczne na wartościach numerycznych JSON:

    JQ '.numer 1 + .Numer2 'Wejście.JSON
    1JQ '.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  

  17. Sortuj dane JSON
  18. Aby sortować dane JSON na podstawie określonego klucza, użyj 'Sortuj według' funkcjonować:

    JQ '.[] | Sortuj według(.klucz) „Wejście.JSON
    1JQ '.[] | 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  

  19. Dane grupy JSON
  20. Aby zgrupować dane JSON na podstawie określonego klucza, użyj 'Grupuj według' funkcjonować:

    JQ 'Group_by (.klucz) „Wejście.JSON
    1JQ '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.