EngelsFransSpaans

Ad


OnWorks-favicon

jshon - Online in de cloud

Voer jshon uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht jshon die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online-emulator of MAC OS online-emulator

PROGRAMMA:

NAAM


jshon — JSON-parser voor de shell

KORTE INHOUD


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

PRODUCTBESCHRIJVING


jshon ontleedt, leest en maakt JSON. Het is ontworpen om zo bruikbaar mogelijk te zijn vanaf
binnen de shell en vervangt fragiele adhoc-parsers gemaakt van zowel grep/sed/awk als
zware eenregelige parsers gemaakt van perl/python.

jshon laadt json-tekst van stdin, voert acties uit en geeft vervolgens de laatste actie op stdout weer.
Sommige opties voeren json uit, andere voeren samenvattingen in platte tekst uit. Omdat Bash heel erg heeft
slechte geneste datastructuren, jshon retourneert de JSON niet als een standaardobject
bibliotheek zou. In plaats van jshon bewaart een geschiedenis van bewerkingen in een stapel en u manipuleert de
bovenste JSON-element.

ACTIES


Elke actie heeft de vorm van een korte optie. Sommige vragen om argumenten. Terwijl veel gevallen
of jshon kunnen door elkaar worden geleid, acties moeten opeenvolgend worden geketend om te verminderen
oproepen. Alle voorbeelden gebruiken dit json-voorbeeld:

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

De meest voorkomende alleen-lezen toepassingen hebben er maar een paar nodig -e acties en een -a in het midden van
Hen.

-t (type) retourneert string, object, array, number, bool, null

jshon -t -> object

-l (lengte) retourneert een geheel getal. Werkt alleen op string, object, array.

jshon -l -> 3

-k (keys) geeft een door een nieuwe regel gescheiden lijst met sleutels. Werkt alleen op object.

jshon -k -> abc

-e index
(extract) retourneert de json-waarde bij "index". Werkt alleen op object, array. De index van een
matrix is ​​een geheel getal.

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

-a (across) brengt de resterende acties over het geselecteerde element in kaart. Werkt alleen op objecten
en arrays. Meerdere -a oproepen kunnen worden genest, hoewel dit in de praktijk zelden nodig is.

jshon -eb -a -t -> bool bool null-tekenreeks

-s waarde
(tekenreeks) retourneert een json-gecodeerde tekenreeks. Kan later worden (-i)ingevoegd in een bestaand
structuur.

jshon -s "terug\\slash" -> "terug\\slash"

-n waarde
(niet-tekenreeks/getal) retourneert een json-element. Kan later worden (-i)ingevoegd in een bestaand
structuur. Geldige waarden zijn 'true', 'false', 'null', 'array', 'object', gehele getallen en
drijft. Afkortingen t, f, n, [] en {} werken respectievelijk ook.

jshon -n-object -> {}

-u (unstring) geeft een gedecodeerde string terug. Werkt alleen op eenvoudige typen: string, int, real,
booleaans, null.

jshon -eb -e 3 -u -> str

-p (pop) haalt de laatste manipulatie uit de stapel en spoelt de geschiedenis terug. Handig voor
het extraheren van meerdere waarden uit één object.

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

-d index
(verwijderen) verwijdert een item in een array of object. Negatieve array-indexen worden ingepakt
in de omgeving van.

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

-i index
(tussenvoegsel) is gecompliceerd. Het is het omgekeerde van uittreksel. Extract plaatst een json-subelement
op de stapel. Insert verwijdert een subelement van de stapel en voegt dat stukje json in
in de grotere array/het onderliggende object. Gebruik extract om in de json-boom te duiken,
delete/string/nonstring om dingen te veranderen, en insert om de wijzigingen terug te duwen in het
boom.

jshon -ea -ia -> de originele json
jshon -s one -ia -> {"a":"one", ...}

Arrays worden op een speciale manier behandeld. Als u gehele getallen doorgeeft, wordt een waarde ingevoegd zonder
overschrijven. Negatieve gehele getallen zijn acceptabel, evenals de tekenreeks 'toevoegen'. Overschrijven
een waarde in een array: verwijder de index, -NS de nieuwe waarde en voeg deze in bij de index.

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

NIET-MANIPULATIE


Er zijn verschillende meta-opties die json niet rechtstreeks bewerken. Bel deze maximaal één keer per
aanroeping.

-F
(file) leest uit een bestand in plaats van stdin. De enige niet-manipulatie-optie om een
argument.

-P (jsonp) stript een jsonp-callback voordat deze normaal wordt voortgezet.

-S (sort) retourneert json gesorteerd op sleutel, in plaats van de oorspronkelijke volgorde.

-Q (stil) schakelt foutrapportage op stderr uit, zodat u "2> /dev/null" niet hoeft te sprenkelen
doorheen je script.

-V (by-value) schakelt pass-by-value in op de bewerkingsgeschiedenisstapel. In extreme gevallen met
duizenden diep geneste waarden die dit kan opleveren jshon meerdere malen langzamer lopen
terwijl je meerdere keren meer geheugen gebruikt. Op waarde is echter veiliger dan op verwijzing en
wekt over het algemeen minder verbazing. By-referentie is standaard ingeschakeld omdat er geen is
risico tijdens alleen-lezen bewerkingen en maakt het bewerken van json over het algemeen handiger.

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

met -V , moeten wijzigingen handmatig worden teruggevoerd door de stapel in plaats van eenvoudig
knallen uit de tussenliggende waarden.

-C (verder) over mogelijk herstelbare fouten. Bijvoorbeeld waarden extraheren die dat niet doen
bestaan ​​voegt 'null' toe aan de bewerkingsstapel in plaats van af te breken. Gedrag kan veranderen in de
toekomst.

-I (in-place) bestandsbewerking. Vereist een bestand om te wijzigen en werkt dus alleen met -F. Dit is
bedoeld voor het aanbrengen van kleine wijzigingen in een json-bestand. Bij gebruik wordt de normale uitvoer onderdrukt
en de onderkant van de bewerkingsstapel wordt uitgeschreven.

-0 (null delimiters) Wijzigt het scheidingsteken van -u van een nieuwe regel in een null. Deze optie
heeft alleen invloed op -u omdat dat de enige keer is dat een nieuwe regel legitiem in het
uitgang.

--versie
Retourneert een tijdstempel JJJJMMDD en sluit af.

ANDERE TOOLS


jshon voert altijd één veld per regel uit. Veel Unix-tools verwachten meerdere tabbladen gescheiden
velden per regel. Leid de uitvoer door 'plakken' om dit op te lossen. Plakken kan echter niet
behandel lege regels, dus vul die op met een tijdelijke aanduiding. Hier is een voorbeeld:

json ... | sed 's/^$/-/' | plakken -s -d '\t\t\n'

Dit vervangt spaties door '-' en voegt elke drie regels samen tot één.

Er zijn steeds meer tools die json-uitvoer produceren. Vaak gebruiken deze een lijngericht
json/plaintext-hybride waarbij elke regel een onafhankelijke json-structuur is. Helaas betekent dit
de uitvoer als geheel is niet legitiem json. Loop regel voor regel door de gegevens
(roeping jshon eenmaal voor elke regel) of converteer het naar een legitieme json-array. Bijvoorbeeld:

terwijl leesregel; doe jshon <<< "$regel"; gedaan < <(journalctl -o json)

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

GOLF


Als je om extreem korte one-liners geeft, kunnen argumenten worden gecondenseerd als dat niet het geval is
onduidelijkheid veroorzaken. Het voorbeeld van -knal) kan als volgt worden gegolfd:

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

Ik raad dit niet aan (het maakt dingen veel moeilijker te begrijpen), maar sommige mensen
golf ondanks de gevolgen.

CREREN JSON


jshon kan json maken door een leeg object als invoer door te geven:

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

AUTEURS


jshon is geschreven door Kyle Keen[e-mail beveiligd]> met patches van Dave Reisner
<[e-mail beveiligd]>, AndrewF (BSD, OSX, jsonp, sorteren) en Jean-Marc A (solaris).

Gebruik jshon online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    NSIS: Nullsoft scriptbaar installatiesysteem
    NSIS: Nullsoft scriptbaar installatiesysteem
    NSIS (Nullsoft Scriptable Install
    System) is een professionele open source
    systeem om Windows-installatieprogramma's te maken. Het
    is ontworpen om zo klein en flexibel te zijn
    zo mogelijk...
    Download NSIS: Nullsoft Scriptable Install System
  • 2
    autorisatie
    autorisatie
    AuthPass is een open source wachtwoord
    manager met ondersteuning voor de populaire en
    bewezen Keepass (kdbx 3.x EN kdbx 4.x ...
    Authentificatie downloaden
  • 3
    Zabbix
    Zabbix
    Zabbix is ​​een open enterprise-klasse
    source gedistribueerde monitoringoplossing
    ontworpen om te monitoren en te volgen
    prestaties en beschikbaarheid van het netwerk
    servers, apparaat...
    Zabbix downloaden
  • 4
    KVerschil3
    KVerschil3
    Deze repository wordt niet langer onderhouden
    en wordt bewaard voor archiveringsdoeleinden. Zie je wel
    https://invent.kde.org/sdk/kdiff3 for
    de nieuwste code en
    https://download.kde.o...
    KDiff3 downloaden
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX is een GUI voor
    Waninkoko's USB Loader, gebaseerd op
    libwiigui. Het maakt een lijst en
    lancering van Wii-spellen, Gamecube-spellen en
    homebrew op Wii en WiiU...
    USBLoaderGX downloaden
  • 6
    Firebird
    Firebird
    Firebird RDBMS biedt ANSI SQL-functies
    & draait op Linux, Windows &
    verschillende Unix-platforms. Functies
    uitstekende gelijktijdigheid en prestaties
    & stroom...
    Firebird downloaden
  • Meer "

Linux-commando's

Ad