GNU/Linux >> Znalost Linux >  >> Linux

Použití jq k načtení hodnoty klíče z výstupu json

Musíte kombinovat filtry pomocí | operátor:

$ jq -r '.[] | .[] | .name' test.json 
rhel6.6
rhel7

První .[] načte repositories pole. Další .[] načte všechny položky z repositories pole. Nakonec .name extrahuje vlastnosti z položek pole (objektů).

Všimněte si, první .[] funguje na objektu, protože je to zdokumentovaná funkce:

.[]
    If you use the .[index] syntax, but omit the index entirely, it
    will return all of the elements of an array...

    You can also use this on an object, and it will return all the
    values of the object.

Chcete se podívat na pole repozitářů místo toho, abyste vstup považovali za pole:

$ jq -r '.repositories[].name' file
rhel6.6
rhel7

Linux
  1. SSH bez hesla pomocí párů veřejného a soukromého klíče

  2. Převést výstup příkazu stromu do formátu Json?

  3. Zjistit, zda je klávesa stisknuta ze skriptu?

  1. Odstranění redundance z výstupních sloupců?

  2. převést výstup bash `ls` na pole json

  3. Používáte úlohy CRON k návštěvě adresy URL?

  1. Analyzovat jedno pole z pole Json do pole Bash?

  2. Jak vytvořit pole jedinečných prvků ze řetězce/pole v Bash?

  3. MYSQL se liší výstupem ze skriptu