Fish Shell:
Arbeta med JSON

Hur man gör:

Fish Shell har i sig inte inbyggda verktyg för att tolka och generera JSON. Dock integreras den sömlöst med tredjepartsverktyg som jq för bearbetning av JSON. jq är en kraftfull och mångsidig kommandoradsprocess för JSON som låter dig skiva, filtrera, mappa och transformera strukturerad data med ett enkelt och uttrycksfullt språk.

Tolkning av JSON med jq

För att tolka en JSON-fil och extrahera data med hjälp av jq:

# Antag att du har en JSON-fil med namnet 'data.json' med innehållet: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Exempel på utdata
"Fish Shell"

Generering av JSON med jq

Att skapa JSON-innehåll från skalvariabler eller utdata:

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

Filtrering av JSON-kollektioner

Anta att vi har en JSON-array med objekt i en fil med namnet versions.json:

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

För att filtrera denna array endast för stabila versioner:

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

Exemplen som tillhandahålls demonstrerar kraften i att integrera jq med Fish Shell för JSON-operationer. Att dra nytta av sådana verktyg berikar upplevelsen i skalet, vilket gör det till en formidabel miljö för hantering av moderna dataformat.