JSON-muoto

JSON-muoto

JSON-muoto

JSON Se on tekstipohjainen tiedonvaihtomuoto, eli se on helppolukuinen niin ihmisen kuin ohjelmankin kannalta. Sen nimi vastaa englanninkielistä lyhennettä JavaScript Object Notation ja on standardoitu nimellä ECMA-404. Vaikka se on muoto, joka on hyvin lähellä syntaksia JavaScript, koska objektidatan koodaaminen tai sen saaminen on erittäin helppoa käsitellä, sitä käytetään myös monissa muissa ohjelmointikielissä (C, C + +, Jaava, Python...) vaihtoehtona esimerkiksi XML:lle, jolla on samanlainen tavoite, mutta koska se sisältää enemmän metatietoa, se vaatii enemmän tekstiä ja vie siten enemmän tilaa, kuluttaa enemmän kaistanleveyttä ja vaatii enemmän resursseja koodaamiseen ja purkamiseen. sen sisältämät tiedot. JSON.

Sisällysluettelo

    Kohteen tiedot, jotka on koodattu JSON Ne on suljettu aaltosulkeisiin, niihin sisältyvät eri ominaisuudet erotetaan pilkuilla ja ominaisuuksien nimet edeltävät arvoa, josta ne erotetaan kaksoispisteellä.

    Objektin syntaksin hahmotelma JSON-muodossa

    Kiinteistöjen nimet on suljettava lainausmerkein käyttäen lainausmerkkejä (vaikka jotkut jäsentimet tukevat yksittäisiä lainausmerkkejä), ja vaikka jotkut erikoismerkit ovat sallittuja nimissä (kuten aksenttimerkit), ei ole suositeltavaa välttää joidenkin analyysikoneiden kriteerejä ja vältä ristiriitoja käytettäessä ominaisuutta erityisesti dot(object.property)-syntaksin kanssa

    Yllä olevassa esimerkissä näet objektin, jolla on kuusi ominaisuutta yksinkertaisilla, numeerisilla, loogisilla tai tekstiarvoilla; mutta muodossa JSON, ominaisuudet voivat saada arvoksi myös objektin (mukaan lukien "erikoisobjektin" null) tai taulukon tekstijonon (teksti lainausmerkeissä), numeron (eri muodoissa) tai loogisen arvon (tosi tai epätosi) lisäksi ).

    Kuten kielen kanssa JavaScript (JSON on osajoukko JavaScript) ilmaisemaan matriisin, sen arvot on suljettu hakasulkeisiin ja erotettu pilkuilla. Yksinkertaisin tapaus on kuvattu alla olevassa esimerkissä; Se on yksiulotteinen taulukko, vektori, joka koostuu numeerisista arvoista.

    En JavaScript Kaikkien taulukon elementtien ei tarvitse olla samaa tyyppiä, voit sekoittaa esimerkiksi tekstijonoja ja numeroarvoja. Vektori, yksiulotteinen matriisi, voi olla myös yksi toisen taulukon elementeistä, jolloin voidaan rakentaa vaihtelevan pituisia moniulotteisia taulukoita. Seuraava esimerkki esittää objektin, jolla on kolme ominaisuutta: ensimmäinen kaksiulotteinen kiinteiden pituuksien taulukko, toinen muuttuvapituinen ja kolmas muodostettu taulukosta, jossa on eri tyyppisiä arvoja.

    Seuraava esimerkki käyttää muita objekteja pääobjektin ominaisuuksien arvoina. Pesäytymistasolla ei ole rajoitusta, joten emon ominaisuusarvoina olevilla kohteilla voi puolestaan ​​olla ominaisuusarvoina myös muita kohteita ja niin edelleen.

    Aivan kuten se tapahtuu JavaScript, Escape-koodeja käytetään sisällyttämään tiettyjä merkkejä tekstimerkkijonoon. Yleisin tapa on käyttää unicode-koodeja, jotka on ilmaistu estopalkilla, kirjaimella u ja neljällä heksadesimaalinumerolla muodossa "\u263A" viitata esimerkiksi kohtaan ☺.

    Vakiomerkit, joita esiintyy useimmilla kielillä (samanlainen kuin C), ovat seuraavat

    • taantumista \b Koodi ASCII 8 (0x08)
    • Taulukko \t Koodi ASCII 9 (0x09) Se esitetään yleensä muodossa HT (horisontaalinen tabulaattori)
    • Uusi rivi \n Koodi ASCII 10 (0x0A) Se esitetään yleensä LF:nä (rivinsyöttö)
    • Uusi sivu \f Koodi ASCII 12 (0x0C) Esitetään yleensä muodossa FF (lomakkeen syöttö)
    • paluu \r Koodi ASCII 13 (0x0D) Se esitetään yleensä muodossa CR (carriage return)
    • Comillat \" Koodi ASCII 34 (0x22)
    • jaettu palkki \/ Koodi ASCII 57 (0x2F)
    • Kenoviiva \\ Koodi ASCII 134 (0x5C)
    • unicode-koodi \uXXXX

    Johdettu jostakin C (ja liittyy unix ja vastaavat, kuten GNU / Linux) rivin loppu esitetään yleensä symbolilla \n ja se on se, joka on valittava JSON mutta on mielenkiintoista muistaa, että jotkut käyttöjärjestelmät suosivat muita vaihtoehtoja. Windows edustaa yleensä kanssa \r\n rivinpäätteet ja Mac OS (ennen käyttöjärjestelmää \r

    Mitä tulee numeromuotoon, myös viittaus on JavaScript. Desimaalierotin on piste, viiva (ASCII 45 0x2D) käytetään negatiivisena merkkinä ja merkintä eksponentiaalisessa muodossa (Tieteellinen merkintätapa) käyttää E ilmaisimena (joka voi olla isoja tai pieniä kirjaimia)

    Kuten alussa sanoin, tekstinä hankitun datan käyttämiseksi eri ohjelmointikielillä on analysointi- ja määritystoimintoja. Seuraava esimerkki näyttää, kuinka niitä käytetään JavaScript. Jotta sitä voidaan käyttää konsolista, tietomääräys on mukana JSON Välttääksesi mahdolliset virheet tulkin käyttämän ECMA-standardin mukaan JavaScript kohteen osoitus on tehty JSON yhdellä rivillä. Painos 6, 2016 (ECMA-262) tukee monirivisiä merkkijonoja, painos 5 (vuoteen 2011) tarvitsee lisäkoodin \ ja aiemmissa sinun täytyy ratkaista se käsin tai käyttää yhtä riviä.

    Varoitus, että älä hämmennä uusia käyttäjiä JavaScript. Koodin sisällä JavaScript Tekstimerkkijonoa ei tarvitse käyttää objektin luomiseen, edellisessä esimerkissä sillä simuloidaan esimerkiksi palvelimelta saapuvaa dataa. Objektin määrittäminen muuttujalle, esimerkiksi:

    Objekti voidaan muuntaa tekstiksi esimerkiksi funktiolla stringify seuraavasti:

    Muoto JSON Se on melko joustava, mutta pääasiassa siksi, että se on tekstipohjainen ollakseen luettavissa, siinä on joitain haittoja. Ensimmäinen on, että se vaatii enemmän muistia ja kuluttaa enemmän kaistanleveyttä kuin on välttämätöntä. Aiemmissa esimerkeissä on käytetty muotoa, joka tähtää enemmän luettavaan kuin taloudelliseen, joten ne eivät ole esimerkki säästöistä, vaikka muodossa on monia elementtejä (sulkeet, hakasulkeet, lainausmerkit...) jotka jatkaisivat kuluttaa resursseja verrattuna esitettyyn tietoon.

    Toinen ongelma syntyy, kun käsitellään puhtaasti binääridataa (esimerkiksi kuvia). Pieniä osia käsiteltäessä se voidaan ratkaista sillä, mitä selitettiin erikoismerkkien muotoilun ratkaisemiseksi, mutta jos kyse on tietyn kokoisen tiedon koodauksesta, se on upotettava muotoon JSON käyttämällä muuta tekstimuotoa. Eniten käytetty koodaus tämän näkökohdan ratkaisemiseksi on BASE64 koska monilla kielillä on kirjastoja tietojen muuntamiseksi suuntaan tai toiseen. Jos manipuloitava tieto on pääosin tämän tyyppistä ja/tai henkilön ei tarvitse tulkita tietoja ilman ohjelmaa, kannattaa harkita, onko muoto JSON on sopivin.

    Post Comment

    Olet ehkä missannut