Bash:
Arbeta med JSON
Hur man gör:
Bash har i sig inga inbyggda JSON-tolkningsfunktioner, men jq
är en kraftfull kommandoradsprocessor för JSON som fyller detta gap. Så här använder du den:
Läsa en JSON-fil:
Exempel data.json
:
{
"name": "Jane Doe",
"email": "[email protected]",
"location": {
"city": "New York",
"country": "USA"
}
}
För att läsa och extrahera namnet från JSON-filen:
jq '.name' data.json
Output:
"Jane Doe"
Modifiera JSON-data:
För att uppdatera staden till “Los Angeles” och skriva tillbaka till filen:
jq '.location.city = "Los Angeles"' data.json > temp.json && mv temp.json data.json
Tolka JSON från en variabel:
Om du har JSON i en Bash-variabel kan jq
fortfarande bearbeta den:
json_string='{"name": "John Doe", "email": "[email protected]"}'
echo $json_string | jq '.name'
Output:
"John Doe"
Arbete med arrayer:
Givet en array av objekt i JSON:
{
"items": ["apple", "banana", "cherry"]
}
För att extrahera det andra objektet (indexering börjar på 0):
jq '.items[1]' data.json
Output:
"banana"
För mer komplexa operationer och filtrering har jq
en omfattande manual och handledningar tillgängliga online, vilket gör det till ett mångsidigt verktyg för alla dina Bash/JSON-behov.