Kjør følgende kommando for å installere JQ på Ubuntu.
$ sudo apt-get install jq
Leser JSON -data
Anta at du har erklært en JSON -variabel som heter Jsondata i terminalen og løp JQ kommando med den variabelen for å skrive ut innholdet i den variabelen.
$ Jsondata = '["bok": "php 7", "publikasjon": "apress",Lese JSON -data med -c -alternativet
-C Alternativ bruker med JQ -kommando for å skrive ut hvert JSON -objekt i hver linje. Etter å ha kjørt følgende kommando, vil hvert objekt av Jsondata -variabelen bli skrevet ut.
$ ekko "$ jsondata" | jq -c '.[] 'Leser en JSON -fil
JQ -kommandoen kan brukes til å lese JSON -fil også. Lag en JSON -fil som heter Students.JSON med følgende innhold for å teste de neste kommandoene i denne opplæringen.
Kjør følgende kommando for å lese studenter.JSON -fil.
$ jq '.'Studenter.JSONLese Json -fil med '|'
Du kan bruke '|' symbol på følgende måte å lese hvilken som helst JSON -fil.
$ CAT -studenter.JSON | jq '.'Lesing av enkeltnøkkelverdier
Du kan enkelt lese et bestemt objekt fra en JSON -fil ved å bruke JQ kommando. I Studenter.JSON, Det er fire objekter. Disse er Rull, navn, batch og avdeling. Hvis du vil lese verdien av avdeling bare nøkkel fra hver post og deretter kjøre JQ kommando på følgende måte.
$ jq '.[] | .avdelingsstudenter.JSONLeser flere nøkler
Hvis du vil lese to eller flere objektverdier fra JSON -data, må du nevne objektnavnene ved å skille komma (,) i JQ -kommandoen. Følgende kommando vil hente verdiene til Navn og avdeling nøkler.
$ jq '.[] | .Navn, .avdelingsstudenter.JSONFjern tasten fra JSON -data
JQ Kommando brukes ikke bare til å lese JSON -data, men også for å vise data ved å fjerne den aktuelle tasten. Følgende kommando vil skrive ut alle nøkkelverdier av Studenter.JSON fil ved å ekskludere parti nøkkel. kart og del funksjon brukes i JQ kommando for å gjøre oppgaven.
$ jq 'kart (del (.batch)) 'studenter.JSONKartlegge verdier
Uten å slette nøkkelen fra JSON -data, kan du bruke kartfunksjon med JQ -kommandoen til forskjellige formål. Numeriske verdier av JSON -data kan økes eller reduseres ved kartfunksjon. Lag en JSON -fil som heter Antall.JSON med følgende innhold for å teste de neste kommandoene.
[40,34,12,67,45]Kjør følgende kommando for å legge til 10 med hver objektverdi på Tall, JSON.
$ jq 'kart (.+10) 'tall.JSONKjør følgende kommando for å trekke fra 10 fra hver objektverdi av Tall, JSON.
$ jq 'kart (.-10) 'tall.JSONSøker verdier etter indeks og lengde
Du kan lese objekter fra JSON -filen ved å spesifisere den aktuelle indeksen og lengden. Lag en JSON -fil som heter farger.JSON med følgende data.
["Rød", "grønn", "blå", "gul", "lilla"]Kjør følgende kommando for å lese to verdier som starter fra den tredje fargindeksen.JSON -fil.
$ jq '.[2: 4] 'Farger.JSONDu kan spesifisere lengden eller startindeksen for å lese data fra JSON -filen. I det følgende eksemplet er antall dataverdier kun gitt. I dette tilfellet vil kommandoen lese fire data fra First Index of Colors.JSON.
$ jq '.[: 4] 'Farger.JSONDu kan spesifisere utgangspunktet bare uten noen lengdeverdi i JQ Kommando og verdien kan være positiv eller negativ. Hvis utgangspunktet er positivt, vil indeksen telle fra venstre side av listen og starte fra null. Hvis utgangspunktet er negativt, vil indeksen telle fra høyre side av listen og starte fra en. I det følgende eksempel er utgangspunktet -3. Så de tre siste verdiene fra dataene vises.
$ jq '.[-3:] 'Farger.JSONNår du vil jobbe med JSON -data og ønsker å analysere eller manipulere data i henhold til dine krav, vil JQ -kommandoen hjelpe deg med å gjøre oppgaven din enklere.