Späť na blog

Prehľad formátu na zdieľanie dát JSON

Prehľad formátu na zdieľanie dát JSON

JavaScript Object Notation (JSON v skratke a vyslovuje sa podobne ako meno „Jason“), je typ formátu na zdieľanie údajov. Ako vyplýva z jeho názvu, JSON pochádza z JavaScript, ale nie je výhradným vlastníkom kódu, ktorý umožňuje jeho využitie. V skutočnosti ho má k dispozícii na použitie mnoho iných programovacích jazykov vrátane Ruby, PHP, Python, a Java.

Keď existuje samostatne, súbor JSON využíva .json príponu, ale keďže ide o formát, ktorý je ľahko prenosný medzi webovým serverom a klientom (alebo prehliadačom), môže byť definovaný aj ako .html formát. V tomto prípade môže ísť buď o objekt priradený k premennej, alebo sa môže zobraziť ako reťazec JSON v úvodzovkách.

JSON je dobrou alternatívou k XML, pretože je čitateľnejší a vyžaduje si minimálne formátovanie. Tento návod vás naučí o údajoch, ktoré môžu byť uložené v súboroch JSON, ako aj o všeobecnej syntaxi a štruktúre tohto formátu.

Štruktúra & syntax

Objekt JSON je dátový formát, ktorý využíva zložené zátvorky na reprezentáciu párov kľúč-hodnota. Pri práci s JSON ho najčastejšie uvidíte vykreslený v súboroch ’.json’, ale v kontexte programu môže existovať aj ako reťazec alebo objekt JSON.

Tu je príklad toho, ako vyzerá objekt JSON:

json object

Hoci je to pomerne krátky príklad a JSON objekty môžu byť oveľa dlhšie, presne demonštruje, ako je tento formát zvyčajne nastavený s dvoma zloženými zátvorkami na každom konci, pričom priestor medzi nimi vypĺňajú páry kľúč-hodnota. Väčšina dát v JSON je zapuzdrená v položke JSON.

Páry kľúč-hodnota oddeľuje dvojbodka (“kľúč” : “hodnota”). Každý z týchto párov je oddelený čiarkou ako samostatný člen zoznamu. To vedie k tomu, že stredná časť formátovania JSON vyzerá nasledovne: “kľúč” : “hodnota”, “kľúč” : “hodnota”, “kľúč” : “hodnota”. Vo vyššie uvedenom príklade "name" : "Akshay" je napríklad prvý pár kľúč-hodnota.

Kľúče v každom objekte musia byť jedinečné, môžu byť reprezentované ako akýkoľvek platný reťazec, uzavretý v dvojitých úvodzovkách (“kľúč”), a sú vždy umiestnené na ľavej strane dvojbodky. Hoci sú medzery v reťazcoch kľúčov povolené (napríklad v “krstné meno”), predstavuje to z hľadiska programovania zložitejší prístup, pokiaľ ide o prístup k nim. Z tohto dôvodu je bežne zaužívanou programátorskou praxou nahrádzať medzery v kľúčoch podčiarkovníkmi (“krstne_meno”).

Hodnoty v JSON sú umiestnené vpravo od dvojbodky. Na svojej najzákladnejšej úrovni granularity musia byť jedným zo 6 konkrétnych dátových typov:

  • Čísla
  • Objekty
  • Polia
  • Reťazce
  • Pravda alebo nepravda (Boolean)
  • Null

Nasledujúca časť sa bude zaoberať zložitejšími dátovými typmi poľa objektov JSON, pričom každá hodnota odovzdaná do JSON si zachová svoju syntax. Inými slovami, reťazce budú aj naďalej v úvodzovkách, zatiaľ čo číselná hodnota nie.

Formát JSON sa podľa konvencie zvyčajne uvádza vo viacriadkovom formáte. Môže byť však naformátovaný aj do jedného riadku:

single line json

Tento typ formátovania je bežnejší, keď narazíte na reťazec JSON alebo v rámci iného typu súboru. Pri práci s obrovskými dátovými sadami robí zápis dvojbodiek a párov kľúč-hodnota na samostatné riadky zoznam čitateľnejším pre ľudské oči, keďže JSON nemá pomocné biele znaky na oddelenie:

json object

Hoci sa objekt JSON podobá na JavaScript, je dôležité mať na pamäti, že ide o odlišné formáty. Zatiaľ čo JavaScript povoľuje používanie funkcií, JSON nie. To, čo robí JSON takým hodnotným, je jeho kompatibilita medzi rôznymi jazykmi, čo umožňuje všetkým programovacím platformám ho interpretovať.

Doteraz sme sa na formát JSON pozerali iba v jeho najjednoduchšej podobe, ale môže sa vyvíjať hierarchicky a zložitejším spôsobom, ak obsahuje vnorené objekty a polia. V ďalšej časti sa pozrieme na pokročilejší JSON.

Využitie komplexných typov JSON

Okrem vnorených polí môže JSON ukladať aj vnorené objekty. Tieto objekty a polia sa budú prenášať ako hodnoty kľúčov a budú priradené ku kľúčom, aby vytvorili páry kľúč-hodnota.

  • Vytváranie vnorených objektov

V nasledujúcom users.json obrázku súboru, pre každého zo štyroch používateľov je odovzdaný vnorený objekt JSON (“akshay”, “sam”, “Andrew”, “James”). Každý používateľ má svoje vlastné vnorené kľúče (“location” a “username”):

nested

Zvýraznená časť predstavuje príklad prvého vnoreného objektu. Vo vyššie uvedenom príklade sa používajú zložené zátvorky na vytvorenie vnoreného objektu JSON so zodpovedajúcim používateľským menom a podrobnosťami o pozícii pre každého zo štyroch používateľov. Pri použití objektov sa čiarky používajú na rozlíšenie položiek na základe konkrétneho atribútu používateľa.

  • Tvorba vnorených polí

Polia Javascript odovzdané ako hodnota sa dajú použiť aj na vnáranie údajov v rámci formátu JSON. Robí sa to pomocou [ ] (hranatých zátvoriek) na konci typov polí, pričom polia sú štruktúrované zoznamy s jedinečnými dátovými typmi:

array

Vo zvýraznenej časti vyššie uvedených príkladov sú 2 profily sociálnych médií a 2 odkazy na webové stránky používateľa Akshays’s použité v rámci poľa vnorených informácií, a to z dôvodu prítomnosti hranatých zátvoriek. Zapojením vnárania týmto spôsobom v JSON môžeme dosiahnuť väčšiu všestrannosť pri práci s hierarchickým a komplexným dátovým obsahom.

  • Porovnanie XML

Exšíriteľný Značkovací Jazyk (XML) poskytuje metódu na ukladanie údajov, ku ktorým môžu pristupovať stroje aj ľudia. Podobne ako JSON, aj XML môže byť použitý v mnohých programovacích jazykoch. Na rozdiel od JSON obsahuje XML podstatne viac textu, a preto je jeho zostavenie zložitejšie a časovo náročnejšie. Zatiaľ čo štandardná funkcia dokáže spracovať JSON, XML vyžaduje parser špecifický pre XML. Okrem toho XML nedokáže využívať polia. Porovnajme si rovnaké údaje naformátované v XML a JSON:

xml vs json

XML vyžaduje výrazne viac textu a zaberá viac miesta. Vyžaduje tiež koncové značky, zatiaľ čo JSON je oveľa kompaktnejší a jednoduchšie usporiadaný. Tí, ktorí poznajú HTML, si pravdepodobne všimnú podobnosť v používaní značiek v XML.

Pred rozhodnutím, ktorý formát použiť, vždy pomôže vyhodnotiť rozsah a potreby projektu. JSON je menej rozvláčny, úspornejší a rýchlo sa používa pre aplikácie AJAX a iné situácie. Typ projektu pomôže objasniť najvhodnejšie dátové štruktúry, ktoré sa majú použiť.

Dozvedieť sa viac o JSON

JSON je všestranný a prirodzený formát, ktorý sa dá implementovať vo viacerých programovacích jazykoch. Celý zoznam podporovaných jazykov nájdete na stránke „Introducing JSON“. Okrem toho informácie o parsovaní a kompatibilite nájdete v „knižnici iQuery“.

Nakoniec pravdepodobne nebudete písať čistý JSON príliš často. Namiesto toho ho budete získavať z dátových zdrojov alebo konvertovať iné dátové súbory do JSON. Pomocou open-source nástroja Mr. Data Converter, môžete preložiť CSV alebo tabulátorom oddelené údaje z tabuľkových programov do JSON. S licenciou Creative Commons utilities-online.info platformou môžete prekladať XML do JSON a naopak. Pri používaní automatizovaného softvéru dvakrát skontrolujte správy, aby ste odstránili akúkoľvek nadbytočnosť.

Môžete tiež použiť JSONLint na overenie vášho JSON a JFiddle na jeho vyhodnotenie v kontexte vývoja webu pri konverzii iných typov do formátu JSON.

Záver

Získanie zvýšenej API podpora (vrátane Twitter API), JSON je ľahký dátový formát, ktorý podporuje jednoduchosť pri úprave, ukladaní a zdieľaní dát. Keďže nebudete generovať svoje vlastné .json súbory, ale skôr ich budete prijímať z iných zdrojov, je dôležitejšie premýšľať o tom, ako JSON používať vo vašich programoch, než o jeho štruktúre.

Tu sú ďalšie zdroje z nášho blogu, ktoré vám pomôžu programovať v JavaScripte:

Príjemnú prácu s počítačom!

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.