Læsning af Json værdier fra Linux kommandolinie

Hvis du har en Json fil som du skal finde en værdi i fra Linux kommandolinien, kan du benytte jq.

Her er et eksempel på en Json fil:

{
        "navn": "General Failure",
        "hjemmeside":
                {
                        "domain": "generalfailure.dk",
                        "ejer": "Ryan Skov"
                }
        "tags":
                [
                        {
                                "navn": "Linux",
                        },
                        {
                                "navn": "Elasticsearch",
                        },
                        {
                                "navn": "Wordpress",
                        }
                ]
}

For bare at test om jq læser filen kan du skrive

cat test.json | jq "."

Dette skulle lave et output af hele filen.
Eksempel på hvordan du finder navn

cat test.json | jq ".navn"

Dette vil give dig

General Failure

På samme måde kan du også tilgå næstede objekter

cat test.json | jq ".hjemmeside.domain"

Dette vil give dig

generalfailure.dk
Som du kan se har jeg lavet et array med tags.
For at finde et tag skal du benytte følge syntax
cat test.json | jq ".tags[0].name"

Dette vil give dig

Linux

Der er mange flere muligheder med jq, hvor det f.eks. er muligt at specificere flere felter på en gang. Dette kan du finde mere om i man filen til kommandoen.

Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.