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.