Vissza a bloghoz

A JSON adatmegosztási formátum áttekintése

A JSON adatmegosztási formátum áttekintése

A JavaScript Object Notation (JSON – röviden, és kiejtése hasonlít a „Jason” névhez – egyfajta adatmegosztási formátum. Ahogy a neve is mutatja, a JSON a JavaScript nyelvből ered, de nem ez az egyetlen kódkörnyezet, amely lehetővé teszi a használatát. Valójában sok más programozási nyelvben is használható, beleértve a következőket: Ruby, PHP, Python, és Java.

Önálló formában a JSON-fájl a(z) .json kiterjesztést használja, de mivel ez egy olyan formátum, amely könnyen továbbítható egy webszerver és egy kliens (vagy böngésző) között, .html formátumként is definiálható. Ebben az esetben lehet egy változóhoz rendelt objektum, vagy megjelenhet JSON-karakterláncként idézőjelek között.

A JSON jó alternatívája az XML-nek, mivel olvashatóbb és minimális formázást igényel. Ez az útmutató bemutatja a JSON-fájlokban tárolható adatokat, valamint a formátum általános szintaxisát és szerkezetét.

Szerkezet & szintaxis

A JSON-objektum egy olyan adatformátum, amely kapcsos zárójeleket használ a kulcs-érték párok ábrázolására. Amikor JSON-nal dolgozik, leggyakrabban .json fájlokban fogja látni, de egy program kontextusában karakterláncként vagy JSON-objektumként is létezhet.

Íme egy példa arra, hogyan néz ki egy JSON-objektum:

json object

Bár ez egy meglehetősen rövid példa, és a JSON-objektumok sokkal hosszabbak is lehetnek, pontosan bemutatja, hogyan épül fel általában a formátum: két kapcsos zárójellel a két végén, a köztük lévő helyet pedig kulcs-érték párok töltik ki. A JSON-ban lévő adatok többsége egy JSON-elembe van beágyazva.

A kulcs-érték párokat egy kettőspont választja el egymástól (“kulcs” : “érték”). Ezen párok mindegyikét egy vessző választja el egymástól, mint a lista különböző tagjait. Ez a JSON-formázás középső részét a következő módon eredményezi: “kulcs” : “érték”, “kulcs” : “érték”, “kulcs” : “érték”. A fenti példában például a "name" : "Akshay" az első kulcs-érték pár.

Az egyes objektumok kulcsainak egyedinek kell lenniük, bármilyen érvényes karakterláncként ábrázolhatók, kettős idézőjelbe téve (“kulcs”), és mindig a kettőspont bal oldalán helyezkednek el. Bár a kulcs-karakterláncokban megengedettek a szóközök (például a “first name” formában), ez programozási szempontból nehezebbé teszi a hozzáférést. Emiatt az általánosan elfogadott programozási gyakorlat az, hogy a kulcsokban lévő szóközöket aláhúzásjellel helyettesítik (“first_name”).

A JSON-ban az értékek a kettőspont jobb oldalán találhatók. A legegyszerűbb szinten ezeknek a következő 6 meghatározott adattípus egyikének kell lenniük:

  • Számok
  • Objektumok
  • Tömbök
  • Karakterláncok
  • Igaz vagy hamis (Boolean)
  • Null

A következő szakasz a JSON-objektumtömb összetettebb adattípusaival foglalkozik, ahol a JSON-nak átadott minden érték megőrzi a saját szintaxisát. Más szóval, a karakterláncok továbbra is idézőjelek között jelennek meg, míg a számértékek nem.

A JSON-formátumot a konvenció szerint általában több soros formátumban adják meg. Azonban egyetlen sorba is formázható:

single line json

Ez a fajta formázás gyakoribb, ha JSON-karakterlánccal találkozunk, vagy egy másik fájltípuson belül. Hatalmas adathalmazokkal való munka során a kettőspontok és a kulcs-érték párok külön sorokba történő kiírása olvashatóbbá teszi a listát az emberi szem számára, mivel a JSON-ból hiányzik a szóközök elválasztó segítsége:

json object

Bár a JSON-objektum hasonlít a JavaScriptre, fontos észben tartani, hogy ezek különböző formátumok. Míg a JavaScript lehetővé teszi a függvények használatát, a JSON nem. Ami a JSON-t olyan értékessé teszi, az a nyelvek közötti kompatibilitása, amely lehetővé teszi, hogy minden programozási platform értelmezni tudja.

Eddig csak a legegyszerűbb formájában vizsgáltuk a JSON-formátumot, de hierarchikusan és összetettebb módon is fejlődhet, ha beágyazott objektumokat és tömböket tartalmaz. A következő részben a haladóbb JSON-nal fogunk foglalkozni.

Összetett JSON-típusok használata

A beágyazott tömbök mellett a JSON beágyazott objektumokat is képes tárolni. Ezek az objektumok és tömbök a kulcsok értékeiként kerülnek átadásra, és a kulcsokhoz kapcsolódva kulcs-érték párokat alkotnak.

  • Beágyazott objektumok létrehozása

A következő users.json fájl kép, minden egyes felhasználóhoz a négy közül egy beágyazott JSON objektum kapcsolódik (“akshay”, “sam”, “Andrew”, “James”). Minden felhasználó saját beágyazott kulcsokkal rendelkezik (“location” és “username”):

nested

A kiemelt rész az első beágyazott objektumra mutat példát. A fenti példában a kapcsos zárójelek egy beágyazott JSON objektum létrehozására szolgálnak, amely tartalmazza a megfelelő felhasználónevet és pozícióadatokat mind a négy felhasználóhoz. Objektumok használatakor vesszőkkel választjuk el az elemeket az adott felhasználói attribútum alapján.

  • Beágyazott tömbök létrehozása

Az értékként átadott Javascript tömbök szintén használhatók adatok beágyazására a JSON formátumon belül. Ez a következő használatával történik: [ ] (szögletes zárójelek) a tömbtípusok végén, ahol a tömbök strukturált listák, amelyek egyedi adattípusokat tartalmaznak:

array

A fenti példák kiemelt részében Akshay’s 2 közösségi média profil oldala és 2 weboldal linkje egy-egy beágyazott információkat tartalmazó tömbben szerepel a szögletes zárójelek jelenléte miatt. A beágyazás ilyen módon történő alkalmazásával a JSON-ban nagyobb rugalmasságot érhetünk el a hierarchikus és összetett adattartalmakkal való munka során.

  • XML összehasonlítás

Extensible Markup Language (XML) egy olyan módszert biztosít az adatok tárolására, amely a gépek és az emberek számára egyaránt hozzáférhető. A JSON-hoz hasonlóan az XML-t is számos programozási nyelv használhatja. A JSON-nal ellentétben az XML lényegesen több szöveget tartalmaz, ezért összetettebb és időigényesebb az összeállítása. Míg egy szabványos függvény képes elemezni a JSON-t, az XML-hez XML-specifikus elemzőre van szükség. Ráadásul az XML nem képes tömböket használni. Hasonlítsuk össze ugyanazokat az adatokat XML és JSON formátumban:

xml vs json

Az XML lényegesen több szöveget igényel és több helyet foglal. Záró tageket is igényel, míg a JSON sokkal tömörebb és egyszerűbb elrendezésű. Azok, akik ismerik a HTML-t, valószínűleg észrevehetik a hasonlóságot az XML tag-használatában.

Mielőtt eldöntené, melyik formátumot használja, mindig segít a projekt hatókörének és igényeinek értékelése. A JSON kevésbé szószaporító, karcsúbb, és gyorsan használható AJAX alkalmazásokhoz és egyéb helyzetekben. A projekt típusa segít rávilágítani a legmegfelelőbb adatstruktúrák használatára.

További információk a JSON-ról

A JSON egy sokoldalú és természetes formátum, amely több programozási nyelven is megvalósítható. A támogatott nyelvek teljes listáját megtalálja a “Introducing JSON” oldalon. Emellett az elemzési és kompatibilitási információk megtalálhatók a “iQuery könyvtárban.”

Végül is valószínűleg nem fog túl gyakran tiszta JSON-t írni. Ehelyett adatforrásokból fogja lekérni, vagy más adatfájlokat fog JSON-ra konvertálni. A nyílt forráskódú Mr. Data Converter eszközzel a táblázatkezelő programokban található CSV vagy tabulátorral tagolt adatokat JSON formátumba konvertálhatja. A Creative Commons licencű utilities-online.info platformmal XML-t konvertálhat JSON-ra és fordítva. Automatizált szoftverek használatakor ellenőrizze kétszer is a jelentéseket a redundancia kiküszöbölése érdekében.

Használhatja a JSONLint eszközt is a JSON ellenőrzéséhez, valamint a JFiddle eszközt, hogy webfejlesztési környezetben értékelje ki azt, amikor más típusokat konvertál JSON formátumba.

Összegzés

Az egyre növekvő API támogatásnak köszönhetően (beleértve a Twitter API-t is), a JSON egy könnyűsúlyú adatformátum, amely elősegíti az adatok egyszerű szerkesztését, tárolását és megosztását. Mivel nem saját .json fájlokat fog generálni, hanem inkább más forrásokból kapja azokat, fontosabb azon gondolkodni, hogyan használja a JSON-t a programjaiban, mintsem a szerkezetén.

Íme további források a blogunkról, amelyek segítenek a JavaScript programozásban:

Kellemes kódolást!

author

Akshay Nagpal

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.