json

json legge, cerca e modifica JSON annidato tramite percorsi puntati mantenendo i tipi dei valori. Dopo una scrittura, il documento viene convalidato e salvato in forma normalizzata.

DatiVersione 1.3.6Stabile
lil-terminal

Panoramica

json lavora direttamente con JSON annidato: percorsi puntati, ricerca di chiavi o valori, scrittura atomica da valore o file, validazione del documento e visualizzazione del JSON normalizzato senza buffer di sessione.

Il percorso seleziona un nodo, il tipo resta un tipo

Il comando lavora sulla struttura, non su un frammento di testo. limits.history indirizza un nodo annidato, -w modifica quel percorso e i valori JSON validi dopo : restano numeri, booleani, null, array o oggetti.

Sintassi

lil-terminal
json <file> [key|options] · json dump <file>

Riferimento

json <file>

mostrare i dati JSON

json <file> <key>

mostrare un percorso puntato esatto

json dump <file>

mostrare il testo sorgente JSON normalizzato

-f <text|mask> [-k|-v]

cercare corrispondenze in chiavi o valori; * e ? attivano una maschera

-w <key> : <value>

scrivere un valore direttamente nel file

-w <key> < <file>

scrivere un valore letto da un altro file

-d <key>

eliminare un valore tramite percorso puntato

-c

convalidare il file JSON

File attivo

Con il core corrente, un file aperto correttamente diventa subito disponibile come $. Se questo modulo è il gestore installato con priorità più alta per l’estensione, basta digitare il nome del file per aprirlo con questo comando. Sono scorciatoie del core; json <file> resta la forma esplicita.

Ricerca

-f cerca in percorsi e valori. Aggiungere -k per le sole chiavi o -v per i soli valori. Le query con * o ? sono trattate come maschere.

Modifica diretta

-w scrive subito nel file. Dopo : si indica un valore inline; < <file> legge il valore da un altro file. -d elimina un percorso puntato.

Anteprima interattiva del sandbox

Esegui gli esempi preparati direttamente nella pagina. I risultati sono predefiniti e mostrati nel browser; sul server non viene eseguito alcun comando del terminale.

Aprire il file e riutilizzarlo con $

Installa e gestisci

Installa la versione compatibile corrente. Scegli Base per tutte le funzioni o Minimum per il pacchetto ridotto; usa upgrade per aggiornare un modulo già installato.

Base e Minimum sono due pacchetti della stessa release corrente del modulo.

Pacchetto Base

Installa il pacchetto completo con riferimento locale e tutte le modalità pubblicate.

install json
Pacchetto Minimum

Installa il pacchetto ridotto. Il riferimento locale è omesso; help <cmd> -i apre il riferimento server corrente.

install json -m
Versione pubblica esatta

Installa esattamente questa versione pubblicata.

install json -v 1.3.6
Controlla o aggiorna

upgrade controlla la compatibilità e sostituisce il blocco solo quando serve.

upgrade json
Rimuovi modulo

Rimuove il blocco estensione senza toccare core e altri moduli.

install json -u

Esempi

Gli esempi sono copiabili ma il sito non li esegue. Controlla percorsi, permessi e opzioni distruttive.

Aprire il file e riutilizzarlo con $
cd \sandbox\config | json app.json
name              lil-sandbox
debug             true
features.0        files
features.1        code
features.2        archives
limits.upload_mb  2
limits.history    25
Mostrare i dati JSON
cd \sandbox\config | app.json
name              lil-sandbox
debug             true
features.0        files
features.1        code
features.2        archives
limits.upload_mb  2
limits.history    25
Mostrare un percorso puntato esatto
json config/app.json limits.history
25
Mostrare un percorso puntato esatto
json config/app.json features.1
code
Cercare corrispondenze in chiavi o valori; * e ? attivano una maschera
json config/app.json -f "upload" -k
limits.upload_mb  2
Cercare corrispondenze in chiavi o valori; * e ? attivano una maschera
json config/app.json -f "files" -v
features.0  files
Cercare corrispondenze in chiavi o valori; * e ? attivano una maschera
json config/app.json -f "limits.*"
limits.upload_mb  2
limits.history    25
Scrivere un valore direttamente nel file
json config/app.json -w limits.history : 30
limits.history  30
Scrivere un valore letto da un altro file
json config/app.json -w limits.policy < config/value.json
limits.policy  {"rotate":true,"attempts":5}
Scrivere un valore direttamente nel file
json config/app.json -w features.1 : "editor"
features.1  editor
Gestire un file mancante
json config/app.json -d features.1
name              lil-sandbox
debug             true
features.0        files
features.1        archives
limits.upload_mb  2
limits.history    25
Convalidare il file JSON
json config/app.json -c
Valid JSON
Mostrare il testo sorgente JSON normalizzato
json dump config/app.json
{
    "name": "lil-sandbox",
    "debug": true,
    "features": [
        "files",
        "code",
        "archives"
    ],
    "limits": {
        "upload_mb": 2,
        "history": 25
    }
}
Mostrare un percorso puntato esatto
json config/app.json unknown.key
Path not found
Convalidare il file JSON
json config/invalid.json -c
Invalid JSON
Mostrare i dati JSON
json config/missing.json
File not found
Scrivere un valore direttamente nel file
json config/app.json -w limits.history
Value required after : or 

File usato in questo esempio: sandbox/config/app.json

L’esempio usa un file o una directory dell’area di documentazione protetta /sandbox/.

{
  "name": "lil-sandbox",
  "debug": true,
  "features": ["files", "code", "archives"],
  "limits": {
    "upload_mb": 2,
    "history": 25
  }
}

Documentazione correlata

Versione pubblica attuale

v1.3.62026-11-01

Rifinitura di produzione

Versione stabile attuale di json. json legge, cerca e modifica JSON annidato tramite percorsi puntati mantenendo i tipi dei valori.