InglesPransesEspanyol

OnWorks favicon

jshon - Online sa Cloud

Patakbuhin ang jshon sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na jshon na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


jshon — JSON parser para sa shell

SINOPSIS


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

DESCRIPTION


jshon nag-parse, nagbabasa at gumagawa ng JSON. Ito ay dinisenyo upang maging magagamit hangga't maaari mula sa
sa loob ng shell at pinapalitan ang mga marupok na adhoc parser na ginawa mula sa grep/sed/awk pati na rin
heavyweight one-line parser na ginawa mula sa perl/python.

jshon naglo-load ng json text mula sa stdin, nagsasagawa ng mga aksyon, pagkatapos ay ipinapakita ang huling aksyon sa stdout.
Ang ilan sa mga opsyon na output json, ang iba ay naglalabas ng mga simpleng buod ng teksto. Dahil napaka Bash
mahihirap na nested datastructure, jshon hindi ibinabalik ang JSON bilang isang katutubong bagay bilang isang tipikal
gagawin ng library. sa halip jshon nagpapanatili ng kasaysayan ng mga pag-edit sa isang stack, at manipulahin mo ang
pinakamataas na elemento ng JSON.

MGA PAGKILOS


Ang bawat aksyon ay nasa anyo ng isang maikling opsyon. Ang ilan ay nangangailangan ng mga argumento. Habang maraming pagkakataon
of jshon maaaring i-pipe sa isa't isa, ang mga aksyon ay dapat na magkakadena nang sunud-sunod upang mabawasan
mga tawag. Ang lahat ng mga halimbawa ay gumagamit ng json sample na ito:

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

Karamihan sa mga karaniwang read-only na paggamit ay mangangailangan lamang ng ilan -e mga aksyon at isa -a sa gitna ng
Kanila.

-t (uri) ay nagbabalik ng string, object, array, number, bool, null

jshon -t -> bagay

-l (haba) ay nagbabalik ng isang integer. Gumagana lamang sa string, object, array.

jshon -l -> 3

-k (keys) ay nagbabalik ng bagong linya na pinaghiwalay na listahan ng mga key. Gumagana lamang sa bagay.

jshon -k -> abc

-e index
(extract) ay nagbabalik ng halaga ng json sa "index". Gumagana lamang sa object, array. Ang index ng isang
Ang array ay isang integer.

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

-a (sa kabuuan) ay nagmamapa ng mga natitirang pagkilos sa napiling elemento. Gumagana lamang sa mga bagay
at mga arrays. Maramihan -a maaaring ma-nest ang mga tawag, kahit na bihira ang pangangailangan sa pagsasanay.

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

-s halaga
(string) ay nagbabalik ng json na naka-encode na string. Maaaring (-i) ipasok sa isang umiiral na
istraktura.

jshon -s "back\slash" -> "back\\slash"

-n halaga
(nonstring/number) ay nagbabalik ng json element. Maaaring (-i) ipasok sa isang umiiral na
istraktura. Ang mga wastong halaga ay 'true', 'false', 'null', 'array', 'object', integers at
lumulutang. Ang mga pagdadaglat na t, f, n, [] at {} ay gumagana din ayon sa pagkakabanggit.

jshon -n object -> {}

-u (unstring) ay nagbabalik ng decoded string. Gumagana lamang sa mga simpleng uri: string, int, real,
boolean, null.

jshon -eb -e 3 -u -> str

-p (pop) nagpa-pop ang huling pagmamanipula mula sa stack, na nire-rewind ang kasaysayan. Mahusay gamitin sa
pagkuha ng maraming mga halaga mula sa isang bagay.

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

-d index
(tanggalin) inaalis ang isang item sa isang array o object. Ibalot ang mga negatibong array index
sa paligid.

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

-i index
(insert) ay kumplikado. Ito ay kabaligtaran ng katas. Ang Extract ay naglalagay ng json sub-element
sa salansan. Ang Insert ay nag-aalis ng isang sub-element mula sa stack, at naglalagay ng kaunting json na iyon
sa mas malaking array/object sa ilalim. Gumamit ng extract para sumisid sa json tree,
tanggalin/string/nonstring upang baguhin ang mga bagay, at ipasok upang itulak ang mga pagbabago pabalik sa
tree.

jshon -ea -ia -> ang orihinal na json
jshon -s one -ia -> {"a":"one", ...}

Ang mga array ay pinangangasiwaan sa isang espesyal na paraan. Ang pagpasa ng mga integer ay maglalagay ng value na wala
pag-overwrite. Ang mga negatibong integer ay katanggap-tanggap, gayundin ang string na 'idagdag'. Para i-overwrite
isang halaga sa isang array: tanggalin ang index, -n/s ang bagong halaga, at pagkatapos ay ipasok sa index.

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

HINDI MANIPULASYON


Mayroong ilang mga meta-opsyon na hindi direktang nag-e-edit ng json. Tawagan ang mga ito nang hindi hihigit sa isang beses bawat
panawagan.

-F
(file) nagbabasa mula sa isang file sa halip na stdin. Ang tanging opsyon na hindi pagmamanipula upang kumuha ng isang
argumento.

-P (jsonp) ay tinanggal ang isang jsonp callback bago magpatuloy nang normal.

-S (sort) ay nagbabalik ng json na pinagsunod-sunod ayon sa susi, sa halip na ang orihinal na pag-order.

-Q (tahimik) hindi pinapagana ang pag-uulat ng error sa stderr, kaya hindi mo na kailangang iwiwisik ang "2> /dev/null"
sa kabuuan ng iyong script.

-V (by-value) ay nagbibigay-daan sa pass-by-value sa stack ng history ng pag-edit. Sa matinding kaso na may
libu-libong mga value na malalim ang nested na maaaring magresulta nito jshon tumatakbo ng ilang beses na mas mabagal
habang gumagamit ng ilang beses na mas maraming memorya. Gayunpaman, ang by-value ay mas ligtas kaysa sa by-reference at
sa pangkalahatan ay nagdudulot ng hindi gaanong sorpresa. Ang by-reference ay pinagana bilang default dahil wala
panganib sa panahon ng mga read-only na operasyon at sa pangkalahatan ay ginagawang mas maginhawa ang pag-edit ng 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

may -V , ang mga pagbabago ay dapat na manu-manong ipasok pabalik sa stack sa halip na simple
lumalabas ang mga intermediate na halaga.

-C (magpatuloy) sa mga posibleng mababawi na error. Halimbawa, ang pagkuha ng mga value na hindi
exist ay magdaragdag ng 'null' sa edit stack sa halip na i-abort. Maaaring magbago ang ugali sa
hinaharap.

-I (in-place) na pag-edit ng file. Nangangailangan ng isang file upang baguhin at kaya gumagana lamang sa -F. Ito ay
nilalayong gumawa ng kaunting pagbabago sa isang json file. Kapag ginamit, ang normal na output ay pinipigilan
at ang ilalim ng stack ng pag-edit ay nakasulat.

-0 (null delimiters) Binabago ang delimiter ng -u mula sa isang bagong linya patungo sa isang null. Ang pagpipiliang ito
nakakaapekto lamang sa -u dahil iyon lang ang oras na maaaring lehitimong lumabas ang isang bagong linya sa
output.

--bersyon
Nagbabalik ng timestamp ng YYYYMMDD at lalabas.

OTHER TOOL


jshon palaging naglalabas ng isang field bawat linya. Maraming mga unix tool ang umaasa sa maraming tab na pinaghihiwalay
mga patlang bawat linya. Pipe ang output sa pamamagitan ng 'i-paste' upang ayusin ito. Gayunpaman, hindi maaaring i-paste
hawakan ang mga walang laman na linya kaya i-pad ang mga may placeholder. Narito ang isang halimbawa:

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

Pinapalitan nito ang mga blangko ng '-' at pinagsasama ang bawat tatlong linya sa isa.

Parami nang parami ang mga tool na gumagawa ng json output. Kadalasan ang mga ito ay gumagamit ng line-oriented
json/plaintext hybrid kung saan ang bawat linya ay isang independiyenteng istruktura ng json. Nakalulungkot ang ibig sabihin nito
ang output sa kabuuan ay hindi lehitimong json. Alinman sa loop kahit na ang data linya sa pamamagitan ng linya
(tumatawag jshon isang beses para sa bawat linya) o i-convert ito sa isang lehitimong json array. Halimbawa:

habang binabasa ang linya; gawin jshon <<<< "$line"; tapos na <<(journalctl -o json)

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

Maglaro ng golp


Kung nagmamalasakit ka sa napakaikli ng isang liner, maaaring paikliin ang mga argumento kapag hindi
magdulot ng kalabuan. Ang halimbawa mula sa -p(op) maaaring maglaro ng golf tulad ng sumusunod:

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

Hindi ko inirerekumenda ang paggawa nito (nagagawa nitong mas mahirap maunawaan ang mga bagay) ngunit ang ilang mga tao
golf sa kabila ng mga kahihinatnan.

PAGLIKHA JSON


jshon ay maaaring lumikha ng json sa pamamagitan ng pagpasa ng isang walang laman na bagay bilang input:

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

MGA AUTHORS


jshon ay isinulat ni Kyle Keen[protektado ng email]> na may mga patch mula kay Dave Reisner
<[protektado ng email]>, AndrewF (BSD, OSX, jsonp, pag-uuri), at Jean-Marc A (solaris).

Gamitin ang jshon online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    XMLTV
    XMLTV
    Ang XMLTV ay isang set ng mga program na ipoproseso
    Mga listahan sa TV (tvguide) at tumulong sa pamamahala
    iyong panonood ng TV, pag-iimbak ng mga listahan sa isang
    XML-based na format. May mga kagamitan sa
    gawin...
    I-download ang XMLTV
  • 2
    striker
    striker
    Proyekto ng Strikr Free Software. Mga artifact
    inilabas sa ilalim ng 'intent based'
    dalawahang lisensya: AGPLv3 (komunidad) at
    CC-BY-NC-ND 4.0 internasyonal
    (komersyal)...
    I-download ang strikr
  • 4
    GIFLIB
    GIFLIB
    Ang giflib ay isang aklatan para sa pagbabasa at
    pagsulat ng mga larawang gif. Ito ay API at ABI
    tugma sa libungif na nasa
    malawak na paggamit habang ang LZW compression
    ang algorithm ay...
    I-download ang GIFLIB
  • 5
    Alt-F
    Alt-F
    Nagbibigay ang Alt-F ng libre at open source
    alternatibong firmware para sa DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Ang Alt-F ay may Samba at NFS;
    sumusuporta sa ext2/3/4...
    I-download ang Alt-F
  • 6
    usm
    usm
    Ang Usm ay isang pinag-isang pakete ng slackware
    manager na humahawak ng awtomatiko
    paglutas ng dependency. Ito ay nagkakaisa
    iba't ibang mga repositoryo ng pakete kasama ang
    slackware, slacky, p...
    I-download ang usm
  • Marami pa »

Linux command

Ad