format JSON

format JSON

format JSON

JSON Je format za izmenjavo podatkov, ki temelji na besedilu, kar pomeni, da je enostaven za branje tako za osebo kot za program. Njegovo ime ustreza angleški akronimu Označevanje objektov JavaScript in je standardiziran kot ECMA-404. Čeprav gre za obliko, ki je po sintaksi zelo blizu JavaScript, ker ga je zelo enostavno obdelati za kodiranje predmetnih podatkov ali za njihovo pridobitev, se uporablja tudi v mnogih drugih programskih jezikih (C, C + +, Java, Python...) kot alternativa, na primer XML-ju, ki ima podoben cilj, vendar, ker vključuje več metainformacij, zahteva več besedila in zato zavzame več prostora, porabi več pasovne širine in zahteva več virov za kodiranje in dekodiranje informacije, ki jih vsebuje. JSON.

Kazalo

    Podatki predmeta, kodirani v JSON Zadane so v oklepaje, različne lastnosti, vključene znotraj, so ločene z vejicami, imena lastnosti pa so pred vrednostjo, od katere so ločene z dvopičjem.

    Oris sintakse predmeta v formatu JSON

    Imena lastnosti morajo biti v narekovajih z uporabo dvojnih narekovajev (čeprav bodo nekateri razčlenjevalniki podpirali enojne narekovaje) in čeprav so nekateri posebni znaki dovoljeni za imena (kot so naglasni znaki), ni priporočljivo, da se izogibate kriterijem nekaterih mehanizmov za analizo in izogibajte se konfliktom pri uporabi lastnosti, zlasti s sintakso dot(object.property).

    V zgornjem primeru lahko vidite predmet, ki ima šest lastnosti s preprostimi, številskimi, logičnimi ali besedilnimi vrednostmi; ampak v obliki JSON, lahko lastnosti poleg besedilnega niza (besedilo v narekovajih), števila (v različnih oblikah) ali logične vrednosti (true ali false) kot vrednost pridobijo tudi objekt (vključno s "posebnim objektom" null) ali matriko ).

    Kot pri jeziku JavaScript (JSON je podmnožica JavaScript) za izražanje matrike so njene vrednosti v oglatih oklepajih in ločene z vejicami. Najenostavnejši primer je prikazan v spodnjem primeru; Je enodimenzionalni niz, vektor, sestavljen iz številskih vrednosti.

    En JavaScript Ni nujno, da so vsi elementi matrike istega tipa, pomešate lahko na primer besedilne nize in številske vrednosti. Vektor, enodimenzionalna matrika, je lahko tudi eden od elementov druge matrike, kar omogoča sestavo večdimenzionalnih matrik spremenljivih dolžin. Naslednji primer prikazuje predmet s tremi lastnostmi: prva je dvodimenzionalni niz fiksnih dolžin, druga spremenljive dolžine in tretja, ki jo tvori niz z vrednostmi različnih vrst.

    Naslednji primer uporablja druge predmete kot vrednosti za lastnosti nadrejenega predmeta. Na ravni gnezdenja ni omejitev, tako da imajo lahko objekti, ki so vrednosti lastnosti nadrejenega, tudi druge objekte kot svoje vrednosti lastnosti in tako naprej.

    Tako kot se to zgodi z JavaScript, se ubežne kode uporabljajo za vključitev določenih znakov v besedilni niz. Najbolj splošen način je uporaba kod unicode, izraženih z ubežno vrstico, črko u in štirimi šestnajstiškimi števkami v formatu "\u263A" sklicevati se na primer na ☺.

    Standardni znaki, ki so prisotni v večini jezikov (podobno kot C), so naslednji

    • Povračilo \b Koda ASCII 8 (0 x 08)
    • Tabulator \t Koda ASCII 9 (0x09) Običajno je predstavljen kot HT (vodoravni tabulator)
    • Nova vrstica \n Koda ASCII 10 (0x0A) Običajno je predstavljen kot LF (line feed)
    • Nova stran \f Koda ASCII 12 (0x0C) Običajno predstavljeno kot FF (format feed)
    • Vrni se \r Koda ASCII 13 (0x0D) Običajno je predstavljeno kot CR (povratek na začetek)
    • Komilji \" Koda ASCII 34 (0 x 22)
    • split bar \/ Koda ASCII 57 (0x2F)
    • Poševnica nazaj \\ Koda ASCII 134 (0x5C)
    • unicode koda \uXXXX

    Izpeljano iz C (in povezano z Unix in podobno, kot npr GNU / Linux) konec vrstice je običajno predstavljen z \n in to je tisti, ki ga je treba izbrati JSON zanimivo pa je spomniti, da imajo nekateri operacijski sistemi raje druge alternative. Windows običajno predstavlja z \r\n končnice vrstic in Mac OS (pred OS \r

    Glede numerične oblike je tudi referenca JavaScript. Decimalno ločilo je pika, pomišljaj (ASCII 45 0x2D) se uporablja kot negativni predznak in zapis v eksponentni obliki (Znanstveni zapis) uporablja E kot indikator (ki je lahko z velikimi ali malimi črkami)

    Kot sem rekel na začetku, za uporabo podatkov, ki bodo pridobljeni kot besedilo, imajo različni programski jeziki funkcije analize in dodelitve. Naslednji primer prikazuje, kako bi jih uporabili v JavaScript. Da bi ga lahko uporabljali s konzole, je vključena dodelitev podatkov JSON Da bi se izognili morebitnim napakam glede na standard ECMA, ki ga uporablja tolmač JavaScript je opravljena dodelitev objekta JSON v eni vrstici. 6. izdaja 2016 (ECMA-262) podpira večvrstične nize, izdaja 5 (do 2011) mora dodati ubežno kodo \ v prejšnjih pa jo morate rešiti ročno ali uporabiti eno vrstico.

    Opozorilo, da ne zavedete novih uporabnikov JavaScript. Znotraj kode JavaScript Za ustvarjanje predmeta ni treba uporabiti besedilnega niza, v prejšnjem primeru se uporablja za simulacijo podatkov, ki prihajajo na primer iz strežnika. Če želite spremenljivki dodeliti predmet, nekaj takega:

    Ta predmet bi lahko pretvorili v besedilo, na primer s funkcijo stringify kot sledi:

    Oblika JSON Je precej prilagodljiv, vendar ima nekaj pomanjkljivosti, predvsem zato, ker temelji na besedilu, da je berljiv. Prvi je, da zahteva več pomnilnika in porabi več pasovne širine, kot je nujno. V prejšnjih primerih je bil uporabljen format, katerega namen je biti bolj berljiv kot ekonomičen, zato niso vzorec varčevanja, čeprav je veliko elementov formata (oklepaji, oglati oklepaji, narekovaji ...), ki bi še naprej porabljajo vire v primerjavi z informacijami, predstavljenimi v surovi obliki.

    Druga težava se pojavi pri obravnavi čisto binarnih podatkov (na primer slike).Pri obravnavi majhnih odsekov se lahko reši z razloženim reševanjem oblikovanja posebnih znakov, če pa gre za kodiranje informacij določenih dimenzij, potrebno ga bo vdelati v Format JSON z uporabo druge besedilne oblike. Najpogosteje uporabljeno kodiranje za rešitev tega vidika je Baza64 ker ima veliko jezikov knjižnice za pretvorbo informacij v eno ali drugo smer. Če so podatki, s katerimi se manipulira, pretežno te vrste in/ali ni potrebno, da bi oseba interpretirala informacije brez programa, je vredno razmisliti, ali je format JSON je najprimernejši.

    po Komentar

    Morda ste zamudili