Startpagina > Tekstverwerking en zoeken > jq

jq: JSON-gegevens verwerken

jq is een krachtig hulpmiddel voor het efficiënt verwerken en transformeren van JSON-gegevens op de commandoregel. Het wordt gebruikt voor het filteren, slicen, mappen en transformeren van JSON-gegevens, en kan gemakkelijk de gewenste informatie extraheren, zelfs uit complexe JSON-structuren. Het wordt vaak gebruikt in combinatie met andere commando's via een pipe (|).

Overzicht

jq ontvangt JSON-gegevens als invoer en verwerkt en voert deze op verschillende manieren uit. Het kan variëren van eenvoudige waarde-extractie tot complexe array-/objectmanipulatie, en is een essentieel hulpmiddel bij het omgaan met JSON in scriptomgevingen.

Belangrijkste functies

  • JSON-gegevens parsen en formatteren
  • Specifieke velden extraheren en filteren
  • Array- en objectmanipulatie
  • Gegevenstransformatie en herstructurering

Belangrijkste opties

Invoer-/uitvoerformaten

Filteren/Transformeren

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`jq` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Basis JSON-formatteren

echo '{"name": "Alice", "age": 30}' | jq .

Voert de ingevoerde JSON uit in een gemakkelijk leesbaar formaat.

Specifiek veld extraheren

echo '{"name": "Bob", "age": 25}' | jq '.name'

Extraheert de waarde van het 'name'-veld uit een JSON-object.

Veld extraheren uit array-elementen

echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq '.[].name'

Extraheert het 'name'-veld uit elk object binnen een JSON-array.

Ruwe string uitvoer

echo '{"city": "Seoul"}' | jq -r '.city'

Voert de geëxtraheerde stringwaarde uit zonder aanhalingstekens.

Meerdere velden selecteren en nieuw object aanmaken

echo '{"name": "Charlie", "age": 40, "email": "charlie@example.com"}' | jq '{name: .name, age: .age}'

Creëert een nieuw object dat alleen de 'name' en 'age' velden uit het bestaande object bevat.

Filteren op basis van voorwaarde

echo '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]' | jq '.[] | select(.age >= 30)'

Filtert alleen gebruikers wiens leeftijd 30 of ouder is.

Array-elementen transformeren (map)

echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq 'map(.name | ascii_upcase)'

Converteert de naam van elke gebruiker naar hoofdletters.


Hétzelfde categoriecommando