Fish Shell:
Arbeider med JSON

Hvordan:

Fish Shell har i seg selv ikke innebygde verktøy for å parse og generere JSON. Imidlertid integrerer den sømløst med tredjepartsverktøy som jq for JSON-behandling. jq er en kraftig og allsidig kommandolinje JSON-prosessor som lar deg skive, filtrere, kartlegge og transformere strukturerte data med et enkelt og uttrykksfullt språk.

Parse JSON med jq

For å parse en JSON-fil og ekstrahere data ved hjelp av jq:

# Anta at du har en JSON-fil ved navn 'data.json' med innhold: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Eksempel på utdata
"Fish Shell"

Generere JSON med jq

Lage JSON-innhold fra shell-variabler eller utdata:

# Opprett JSON-objekt fra variabler
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Eksempel på utdata
{
  "name": "Fish Shell",
  "version": "3.4.0"
}

Filtrere JSON-samlinger

Anta at vi har en JSON-array med objekter i en fil ved navn versions.json:

[
  {"version": "3.1.2", "stable": true},
  {"version": "3.2.0", "stable": false},
  {"version": "3.4.0", "stable": true}
]

For å filtrere denne arrayen for kun stabile versjoner:

cat versions.json | jq '.[] | select(.stable == true) | .version'
# Eksempel på utdata
"3.1.2"
"3.4.0"

Eksemplene som er gitt demonstrerer kraften av å integrere jq med Fish Shell for JSON-operasjoner. Å utnytte slike verktøy beriker shell-opplevelsen, noe som gjør den til et formidabelt miljø for håndtering av moderne dataformater.