Bash:
Arbeider med JSON

Hvordan:

Bash selv mangler innebygd JSON-parsingkapasitet, men jq er en kraftig kommandolinje JSON-prosessor som fyller dette gapet. Her er hvordan du bruker den:

Lese en JSON-fil:

Eksempel data.json:

{
  "name": "Jane Doe",
  "email": "[email protected]",
  "location": {
    "city": "New York",
    "country": "USA"
  }
}

For å lese og trekke ut navnet fra JSON-filen:

jq '.name' data.json

Output:

"Jane Doe"

Modifisere JSON-data:

For å oppdatere byen til “Los Angeles” og skrive tilbake til filen:

jq '.location.city = "Los Angeles"' data.json > temp.json && mv temp.json data.json

Parse JSON fra en variabel:

Hvis du har JSON i en Bash-variabel, kan jq fortsatt behandle den:

json_string='{"name": "John Doe", "email": "[email protected]"}'
echo $json_string | jq '.name'

Output:

"John Doe"

Jobbe med tabeller:

Gitt en tabell med elementer i JSON:

{
  "items": ["apple", "banana", "cherry"]
}

For å trekke ut det andre elementet (indeksering starter på 0):

jq '.items[1]' data.json

Output:

"banana"

For mer komplekse operasjoner og filtrering, har jq en omfattende håndbok og opplæringsprogrammer tilgjengelig på nettet, noe som gjør den til et allsidig verktøy for alle dine Bash/JSON-behov.