IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

jshon - Online nel cloud

Esegui jshon nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando jshon che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


jshon — Parser JSON per la shell

SINOSSI


jshon -[P|S|Q|V|C|I|0] [-F percorso] -[t|l|k|u|p|a] -[s|n] valore -[e|i|d] indice

DESCRIZIONE


jshon analizza, legge e crea JSON. È progettato per essere il più utilizzabile possibile da
all'interno della shell e sostituisce i fragili parser ad hoc realizzati con grep/sed/awk e
pesanti parser a una riga realizzati in perl/python.

jshon carica il testo json da stdin, esegue azioni, quindi visualizza l'ultima azione su stdout.
Alcune delle opzioni producono json, altre producono riepiloghi in testo semplice. Perché Bash ha molto
strutture dati nidificate scadenti, jshon non restituisce il JSON come oggetto nativo come tipico
biblioteca lo farebbe. Anziché jshon conserva una cronologia delle modifiche in uno stack e si manipola il
elemento JSON più in alto.

AZIONI


Ogni azione assume la forma di un'opzione breve. Alcuni richiedono argomenti. Mentre molti casi
of jshon possono essere convogliate l'una attraverso l'altra, le azioni devono essere concatenate in sequenza per ridurre
chiamate. Tutti gli esempi usano questo esempio json:

{"a":1,"b":[true,false,null,"str"],"c":{"d":4,"e":5}}
jshon [azioni] < sample.json

Gli usi di sola lettura più comuni ne richiederanno solo diversi -e azioni e uno -a in mezzo
Loro.

-t (tipo) restituisce stringa, oggetto, array, numero, bool, null

jshon -t -> oggetto

-l (lunghezza) restituisce un numero intero. Funziona solo su stringa, oggetto, array.

jshon -l -> 3

-k (keys) restituisce un elenco di chiavi separato da una nuova riga. Funziona solo su oggetto.

jshon -k -> abc

-e Index
(estratto) restituisce il valore json in "indice". Funziona solo su oggetto, array. L'indice di an
array è un numero intero.

jshon -ec -> {"d":4,"e":5}

-a (across) mappa le azioni rimanenti nell'elemento selezionato. Funziona solo sugli oggetti
e array. multiplo -a le chiamate possono essere nidificate, anche se nella pratica la necessità è rara.

jshon -eb -a -t -> bool bool stringa nulla

-s APPREZZIAMO
(stringa) restituisce una stringa codificata in json. Può essere successivamente (-i) inserito in un esistente
struttura.

jshon -s "indietro\barra" -> "indietro\\barra"

-n APPREZZIAMO
(non stringa/numero) restituisce un elemento json. Può essere successivamente (-i) inserito in un esistente
struttura. I valori validi sono 'true', 'false', 'null', 'array', 'object', interi e
galleggia. Funzionano anche le abbreviazioni t, f, n, [] e {} rispettivamente.

jshon -n oggetto -> {}

-u (unstring) restituisce una stringa decodificata. Funziona solo su tipi semplici: string, int, real,
booleano, nullo.

jshon -eb -e 3 -u -> str

-p (pop) estrae l'ultima manipolazione dalla pila, riavvolgendo la cronologia. Utile per
estrarre più valori da un oggetto.

jshon -ec -ed -u -p -ee -u -> 4 5

-d Index
(elimina) rimuove un elemento in un array o in un oggetto. Gli indici di array negativi andranno a capo
in giro.

jshon -db -> {"a":1,"c":{"d":4,"e":5}}

-i Index
(inserire) è complicato. È il contrario dell'estratto. Extract mette un sottoelemento json
sulla pila. Insert rimuove un sottoelemento dallo stack e inserisce quel bit di json
nell'array/oggetto più grande sottostante. Usa l'estratto per tuffarti nell'albero json,
elimina/stringa/non stringa per modificare le cose e inserisci per riportare le modifiche nel file
albero.

jshon -ea -ia -> il json originale
jshon -s one -ia -> {"a": "one", ...}

Gli array vengono gestiti in modo speciale. Il passaggio di interi inserirà un valore senza
sovrascrittura. Gli interi negativi sono accettabili, così come la stringa 'append'. Per sovrascrivere
un valore in un array: elimina l'indice, -n/s il nuovo valore, quindi inserirlo nell'indice.

jshon -eb -d 0 -sq -i 0 -> {"b":"q",false,null,"str"}

NON MANIPOLAZIONE


Esistono diverse meta-opzioni che non modificano direttamente json. Chiama questi al massimo una volta per
invocazione.

-F
(file) legge da un file invece che da stdin. L'unica opzione di non manipolazione da prendere
discussione.

-P (jsonp) elimina un callback jsonp prima di continuare normalmente.

-S (sort) restituisce json ordinato per chiave, invece dell'ordinamento originale.

-Q (quiet) disabilita la segnalazione degli errori su stderr, quindi non devi spruzzare "2> /dev/null"
in tutto il tuo copione.

-V (per valore) abilita il passaggio per valore nello stack della cronologia delle modifiche. In casi estremi con
migliaia di valori profondamente nidificati in questo modo jshon correndo molte volte più lentamente
utilizzando molte volte più memoria. Tuttavia per valore è più sicuro di per riferimento e
generalmente provoca meno sorpresa. Per riferimento è abilitato di default perché non c'è
rischio durante le operazioni di sola lettura e generalmente rende più conveniente la modifica di json.

jshon -ec -n 7 -id -p -> c["d"] == 7
jshon -V -ec -n 7 -id -p -> c["d"] == 5
jshon -V -ec -n 7 -id -ic -> c["d"] == 7

Con -V , le modifiche devono essere reinserite manualmente nello stack anziché semplicemente
spuntando i valori intermedi.

-C (continua) su errori potenzialmente recuperabili. Ad esempio, estraendo valori che non lo fanno
esiste aggiungerà 'null' allo stack di modifica invece di interrompere. Il comportamento può cambiare nel
futuro.

-I modifica dei file (sul posto). Richiede un file da modificare e quindi funziona solo con -F. Questo è
pensato per apportare lievi modifiche a un file json. Quando viene utilizzato, l'uscita normale viene soppressa
e la parte inferiore dello stack di modifica viene scritta.

-0 (delimitatori nulli) Modifica il delimitatore di -u da una nuova riga a un null. Questa opzione
influenza solo -u perché questa è l'unica volta che una nuova riga può legittimamente apparire nel
produzione.

--versione
Restituisce un timestamp AAAAMMGG ed esce.

ALTRO STRUMENTI


jshon restituisce sempre un campo per riga. Molti strumenti unix si aspettano più schede separate
campi per riga. Pipe l'output tramite 'paste' per risolvere questo problema. Tuttavia, incollare non può
gestisci le righe vuote in modo da riempire quelle con un segnaposto. Ecco un esempio:

jshon ... | sed 's/^$/-/' | incolla -s -d '\t\t\n'

Questo sostituisce gli spazi vuoti con '-' e unisce ogni tre righe in una.

Ci sono sempre più strumenti che producono output json. Spesso questi usano una linea orientata
json/ibrido di testo in chiaro in cui ogni riga è una struttura json indipendente. Purtroppo questo significa
l'output nel suo complesso non è json legittimo. In entrambi i casi il ciclo di dati riga per riga
(chiamando jshon una volta per ogni riga) o convertirlo in un array json legittimo. Per esempio:

mentre leggi la riga; do jshon <<< "$linea"; done < <(journalctl -o json)

journalctl -o json | sed -e '1i[' -e '$!s/$/,/' -e '$a]' | jshon

GOLF


Se ti interessano battute estremamente corte, gli argomenti possono essere condensati quando non lo fanno
causare ambiguità. L'esempio di -pop) può essere giocato a golf come segue:

jshon -ec -ed -u -p -ee -u == jshon -ec -ed -upee -u

Non consiglio di farlo (rende le cose molto più difficili da capire) ma alcune persone
golf nonostante le conseguenze.

CREARE JSON


jshon può creare json passando un oggetto vuoto come input:

jshon -s one -ia <<< "{}"

AUTORI


jshon è stato scritto da Kyle Keen[email protected]> con le patch di Dave Reisner
<[email protected]>, AndrewF (BSD, OSX, jsonp, ordinamento) e Jean-Marc A (solaris).

Usa jshon online usando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    NSIS: sistema di installazione con script Nullsoft
    NSIS: sistema di installazione con script Nullsoft
    NSIS (installazione con script Nullsoft
    System) è un open source professionale
    sistema per creare programmi di installazione di Windows. Esso
    è progettato per essere il più piccolo e flessibile
    come possibile...
    Scarica NSIS: Nullsoft Scriptable Install System
  • 2
    autorizzazione
    autorizzazione
    AuthPass è una password open source
    manager con il supporto per il popolare e
    comprovato Keepass (kdbx 3.x E kdbx 4.x ...
    Scarica pass di autenticazione
  • 3
    Zabbix
    Zabbix
    Zabbix è un open di classe enterprise
    soluzione di monitoraggio distribuito alla fonte
    progettato per monitorare e tracciare
    prestazioni e disponibilità della rete
    server, dispositivo...
    Scarica Zabbix
  • 4
    KDiff3
    KDiff3
    Questo repository non è più mantenuto
    ed è conservata a scopo di archivio. Vedere
    https://invent.kde.org/sdk/kdiff3 for
    il codice più recente e
    https://download.kde.o...
    Scarica KDiff3
  • 5
    USB LoaderGX
    USB LoaderGX
    USBLoaderGX è una GUI per
    Caricatore USB di Waninkoko, basato su
    libwiigui. Consente la quotazione e
    lancio di giochi Wii, giochi Gamecube e
    homebrew su Wii e WiiU...
    Scarica USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS offre funzionalità ANSI SQL
    e funziona su Linux, Windows e
    diverse piattaforme Unix. Caratteristiche
    concorrenza e prestazioni eccellenti
    & potenza...
    Scarica l'uccello di fuoco
  • Di Più "

Comandi Linux

Ad