formát JSON

formát JSON

formát JSON

JSON Je to textový formát výmeny údajov, čo znamená, že je ľahko čitateľný pre osobu aj program. Jeho názov zodpovedá anglickej skratke of Označenie objektu JavaScript a je štandardizovaný ako ECMA-404. Aj keď ide o formát veľmi blízky syntaxi JavaScript, pretože je veľmi jednoduché spracovať zakódovanie objektových dát alebo ich získať, používa sa aj v mnohých iných programovacích jazykoch (C, C + +, Jáva, Pytón...) ako alternatíva napríklad k XML, ktorý má podobný cieľ, ale keďže obsahuje viac metainformácií, vyžaduje viac textu, a preto zaberá viac miesta, spotrebuje väčšiu šírku pásma a vyžaduje viac zdrojov na kódovanie a dekódovanie informácie, ktoré obsahuje. JSON.

Obsah

    Údaje objektu zakódované v JSON Sú uzavreté v zátvorkách, rôzne vlastnosti zahrnuté vo vnútri sú oddelené čiarkami a názvy vlastností sú pred hodnotou, od ktorej sú oddelené dvojbodkou.

    Náčrt syntaxe objektu vo formáte JSON

    Názvy vlastností musia byť uzavreté v úvodzovkách s použitím dvojitých úvodzoviek (hoci niektoré analyzátory podporujú jednoduché úvodzovky), a hoci sú v názvoch povolené niektoré špeciálne znaky (napríklad akcenty), neodporúča sa vyhýbať sa kritériám niektorých analytických nástrojov a vyhnúť sa konfliktom pri používaní vlastnosti, najmä so syntaxou bodka(objekt.vlastnosť).

    Vo vyššie uvedenom príklade môžete vidieť objekt, ktorý má šesť vlastností s jednoduchými, numerickými, boolovskými alebo textovými hodnotami; ale vo formáte JSONvlastnosti môžu okrem textového reťazca (text v úvodzovkách), čísla (v rôznych formátoch) alebo boolovskej hodnoty (pravda alebo nepravda) získať ako hodnotu aj objekt (vrátane „špeciálneho objektu“ null) alebo pole ).

    Rovnako ako s jazykom JavaScript (JSON je podmnožinou JavaScript) na vyjadrenie matice sú jej hodnoty uzavreté v hranatých zátvorkách a oddelené čiarkami. Najjednoduchší prípad je znázornený v príklade nižšie; Je to jednorozmerné pole, vektor, zložený z číselných hodnôt.

    En JavaScript Nie je potrebné, aby všetky prvky poľa boli rovnakého typu, napríklad textové reťazce a číselné hodnoty sa môžu zmiešať. Vektor, jednorozmerné pole, môže byť tiež jedným z prvkov iného poľa, čo umožňuje zostaviť viacrozmerné polia rôznych dĺžok. Nasledujúci príklad ukazuje objekt s tromi vlastnosťami: prvá je dvojrozmerné pole pevných dĺžok, druhá variabilná dĺžka a tretia je tvorená poľom s hodnotami rôznych typov.

    Nasledujúci príklad používa iné objekty ako hodnoty pre vlastnosti nadradeného objektu. Úroveň vnorenia nie je obmedzená, takže objekty, ktoré sú hodnotami vlastností rodiča, môžu mať ako hodnoty vlastností aj iné objekty atď.

    Rovnako ako sa to stáva s JavaScript, únikové kódy sa používajú na zahrnutie určitých znakov do textového reťazca. Najbežnejším spôsobom je použitie kódov unicode vyjadrených únikovou čiarou, písmenom u a štyrmi hexadecimálnymi číslicami vo formáte "\u263A" odkázať napríklad na ☺.

    Štandardné znaky prítomné vo väčšine jazykov (podobne ako C) sú nasledujúce

    • úpadok \b Kód ASCII 8 (0 x 08)
    • Tabulátor \t Kód ASCII 9 (0x09) Zvyčajne sa zobrazuje ako HT (horizontálny tabulátor)
    • Nový riadok \n Kód ASCII 10 (0x0A) Zvyčajne sa uvádza ako LF (line feed)
    • Nová stránka \f Kód ASCII 12 (0x0C) Zvyčajne sa zobrazuje ako FF (informačný kanál formulára)
    • spiatočný \r Kód ASCII 13 (0x0D) Zvyčajne sa uvádza ako CR (carriage return)
    • Úvodzovky \" Kód ASCII 34 (0 x 22)
    • delená tyč \/ Kód ASCII 57 (0x2F)
    • Spätné lomítko \\ Kód ASCII 134 (0x5C)
    • unicode kód \uXXXX

    Odvodené od C (a súvisiace s unix a podobne, ako napr GNU / Linux) koniec riadku je zvyčajne reprezentovaný s \n a to je ten, ktorý musí byť vybraný JSON je však zaujímavé pripomenúť, že niektoré operačné systémy uprednostňujú iné alternatívy. Windows zvyčajne predstavuje s \r\n koncovky riadkov a Mac OS (pred OS \r

    Pokiaľ ide o číselný formát, odkaz je tiež JavaScript. Desatinný oddeľovač je bodka, pomlčka (ASCII 45 0x2D) sa používa ako záporné znamienko a zápis v exponenciálnom tvare (Vedecký zápis) používa E ako indikátor (ktorý môže byť veľký alebo malý)

    Ako som povedal na začiatku, na použitie údajov, ktoré budú získané ako text, majú rôzne programovacie jazyky funkcie analýzy a priraďovania. Nasledujúci príklad ukazuje, ako by sa použili v JavaScript. Aby ste ho mohli používať z konzoly, obsahuje priradenie údajov JSON Aby sa predišlo možným chybám v závislosti od normy ECMA používanej tlmočníkom JavaScript vykoná sa priradenie objektu JSON v jedinom riadku. 6. vydanie z roku 2016 (ECMA-262) podporuje viacriadkové reťazce, vydanie 5 (do roku 2011) potrebuje pridať únikový kód \ a v predchádzajúcich to musíte vyriešiť ručne alebo použiť jeden riadok.

    Upozornenie, aby ste nezamieňali nových používateľov JavaScript. Vo vnútri kódu JavaScript Na vytvorenie objektu nie je potrebné použiť textový reťazec, v predchádzajúcom príklade sa používa na simuláciu dát prichádzajúcich napríklad zo servera. Ak chcete priradiť objekt k premennej, postupujte takto:

    Tento objekt je možné previesť na text, napríklad pomocou funkcie stringify nasledovne:

    Formát JSON Je pomerne flexibilný, ale najmä preto, že je založený na texte, aby bol čitateľný človekom, má určité nevýhody. Prvým je, že vyžaduje viac pamäte a spotrebuje väčšiu šírku pásma, než je nevyhnutné. V predchádzajúcich príkladoch bol použitý formát, ktorého cieľom je byť čitateľnejší ako ekonomický, nejde teda o ukážku úspor, aj tak je tam veľa prvkov formátu (zátvorky, hranaté zátvorky, úvodzovky...), ktoré by pokračovať v spotrebe zdrojov v porovnaní so zastúpenými informáciami.v surovom.

    Druhý problém nastáva pri práci s čisto binárnymi údajmi (napríklad obrázkami).Pri práci s malými časťami sa to dá vyriešiť tým, čo bolo vysvetlené pri riešení formátovania špeciálnych znakov, ale ak ide o kódovanie informácií určitých rozmerov, napr. bude potrebné ho vložiť do Formátu JSON pomocou iného textového formátu. Najpoužívanejšie kódovanie na vyriešenie tohto aspektu je Base64 pretože mnoho jazykov má knižnice na konverziu informácií jedným alebo druhým smerom. Ak sú dáta, s ktorými sa manipuluje, prevažne tohto typu a/alebo nie je potrebné, aby osoba interpretovala informácie bez programu, je na zváženie, či formát JSON je najvhodnejší.

    Pridať komentár

    Možno ste zmeškali