Az internetes adatkommunikáció és a modern szoftverfejlesztés egyik alappillére a JSON, azaz a JavaScript Object Notation. Ez a könnyed, ember által is olvasható adatformátum mára szinte mindenhol jelen van, ahol rendszerek közötti adatcserére van szükség. Legyen szó webes alkalmazásokról, mobil applikációkról, adatbázisokról vagy éppen mikroszolgáltatásokról, a JSON elengedhetetlen szerepet játszik az információk hatékony és strukturált továbbításában. Egyszerűsége és rugalmassága tette az iparág egyik legkedveltebb megoldásává, felváltva vagy kiegészítve korábbi, bonyolultabb adatformátumokat, mint például az XML-t.
A JSON nem csupán egy technikai specifikáció, hanem egyfajta univerzális nyelv, amelyen a különböző programok és rendszerek „beszélni” tudnak egymással. Képzeljünk el egy világot, ahol mindenki más nyelvet beszél, és nincs közös fordítási mechanizmus. A digitális térben a JSON pontosan ezt a fordítói szerepet tölti be, lehetővé téve, hogy a különböző platformokon és programozási nyelveken írt alkalmazások zökkenőmentesen oszthassák meg és értelmezhessék az adatokat. Ez a cikk részletesen bemutatja, mi is az a JSON, milyen alapvető elemekből épül fel, hogyan működik a gyakorlatban, és miért vált ennyire meghatározóvá a mai digitális ökoszisztémában.
Mi is az a JSON valójában?
A JSON, vagy teljes nevén JavaScript Object Notation, egy könnyűsúlyú, ember által is olvasható adatformátum, amelyet adatok strukturált tárolására és cseréjére használnak. Ahogy a neve is sugallja, eredetileg a JavaScript programozási nyelvből származik, de mára platformfüggetlen szabvánnyá vált, amelyet szinte minden modern programozási nyelv támogat. Lényege az egyszerűségben rejlik: az adatok kulcs-érték párok, valamint rendezett listák (tömbök) kombinációjával írhatók le, nagyon hasonlóan ahhoz, ahogyan a JavaScriptben az objektumokat definiálják.
Az adatok JSON formátumban rendkívül áttekinthetőek és könnyen értelmezhetőek mind az emberek, mind a gépek számára. Ez a kettős előny az egyik fő oka annak, hogy miért vált ennyire népszerűvé. Egy fejlesztő pillanatok alatt átlátja egy JSON struktúra tartalmát, miközben a programok is gyorsan és hatékonyan tudják feldolgozni és értelmezni azt. Nincs szükség bonyolult parserekre vagy komplex séma definíciókra az alapvető működéshez, ami jelentősen felgyorsítja a fejlesztési folyamatokat.
A JSON eredete és fejlődése
A JSON-t Douglas Crockford alkotta meg a 2000-es évek elején, válaszul az akkoriban elterjedt XML (Extensible Markup Language) bizonyos korlátaira. Az XML rendkívül rugalmas és robusztus volt, de gyakran túlságosan is bőbeszédű, ami nehezítette az olvasását és a feldolgozását, különösen a webes alkalmazásokban. Crockford célja egy olyan adatformátum létrehozása volt, amely könnyebb, gyorsabb, és jobban illeszkedik a webes környezet dinamikus igényeihez, különösen az AJAX (Asynchronous JavaScript and XML) technológia térnyerésével egy időben. Bár az AJAX nevében az XML szerepel, a JSON sokkal természetesebben illeszkedett a JavaScript alapú webes kommunikációhoz.
A kezdeti sikerek után a JSON gyorsan terjedni kezdett, és hamarosan de facto szabvánnyá vált az API-k (Application Programming Interface) és a webes szolgáltatások területén. Az ECMA International 2013-ban publikálta az első hivatalos JSON szabványt (ECMA-404), amely megerősítette a formátum státuszát és alapjait. Azóta számos kiegészítés és kapcsolódó specifikáció született, mint például a JSON Séma az adatok validációjához, vagy a JSON Web Token (JWT) a biztonságos adatcseréhez, tovább erősítve a JSON pozícióját a digitális világban.
A JSON alapvető adattípusai és szerkezete
A JSON ereje az egyszerűségében rejlik, ami az alapvető adattípusainak és szerkezeti elemeinek letisztultságában is megmutatkozik. Mindössze hat primitív adattípusból és két strukturált típusból épül fel, amelyek kombinációjával rendkívül komplex adatstruktúrák is leírhatók. Ezek az elemek alkotják a JSON „szókészletét”, amellyel bármilyen információt hatékonyan reprezentálhatunk.
Objektumok: Kulcs-érték párok gyűjteménye
A JSON objektum a legfontosabb strukturális elem, amely kulcs-érték párok rendezetlen gyűjteményét jelenti. Az objektumokat kapcsos zárójelek (`{}`) közé írjuk. Minden kulcs egy string (karakterlánc), amelyet dupla idézőjelek közé kell tenni. A kulcsot egy kettőspont (:
) választja el az értékétől, és az egyes kulcs-érték párokat vessző (,
) választja el egymástól. Egy objektumon belül a kulcsoknak egyedieknek kell lenniük.
Példa egy egyszerű JSON objektumra:
{
"nev": "Kiss Petra",
"kor": 30,
"aktiv": true
}
Ez az objektum három kulcs-érték párt tartalmaz: „nev” (értéke egy string), „kor” (értéke egy szám), és „aktiv” (értéke egy boolean). Az objektumok beágyazhatók egymásba, ami lehetővé teszi hierarchikus adatstruktúrák létrehozását.
Tömbök: Rendezett értéklisták
A JSON tömb rendezett értéklistát jelöl. A tömböket szögletes zárójelek (`[]`) közé írjuk, és az egyes értékeket vessző (,
) választja el egymástól. A tömb elemei bármilyen érvényes JSON adattípusúak lehetnek, beleértve más objektumokat és tömböket is. Ez a rugalmasság teszi lehetővé, hogy heterogén adatgyűjteményeket is reprezentáljunk.
Példa egy JSON tömbre:
[
"alma",
"körte",
"szilva"
]
Példa egy tömbre, amely objektumokat tartalmaz:
[
{
"termekNev": "Laptop",
"ar": 1200,
"elerheto": true
},
{
"termekNev": "Egér",
"ar": 25,
"elerheto": false
}
]
A tömbök nagyon hasznosak például listák, rekordhalmazok vagy ismétlődő adatok ábrázolására. A rendezett jelleg azt jelenti, hogy az elemek sorrendje fontos, és index alapján érhetők el (pl. az első elem a 0. indexen).
Primitív adattípusok: Az alapvető építőkövek
A JSON hat alapvető, primitív adattípust ismer, amelyek az objektumok és tömbök értékei lehetnek:
- String (karakterlánc): Unicode karakterek sorozata, amelyet dupla idézőjelek (`””`) közé kell tenni. A stringek tartalmazhatnak escape karaktereket, például
\n
sortörést vagy\"
idézőjelet."Ez egy szöveges érték."
- Number (szám): Egész vagy lebegőpontos szám. Nincs különbség egész és tizedes számok között, mindkettő „number” típusú. Nem támogatja az oktális, hexadecimális vagy bináris formátumokat, és nem használhatóak az
Infinity
vagyNaN
értékek.123 -45.67 0.001
- Boolean (logikai érték): Két lehetséges értéke van:
true
vagyfalse
. Ezeket idézőjelek nélkül kell írni.true false
- Null: Egy speciális érték, amely azt jelzi, hogy egy érték hiányzik, vagy nincs definiálva. Idézőjelek nélkül kell írni.
null
Ezek az egyszerű típusok, az objektumok és tömbök kombinálásával alkotják a JSON formátum teljes kifejezőerejét. Az alábbi táblázat összefoglalja az alapvető adattípusokat és azok jellemzőit:
Adattípus | Leírás | Példa |
---|---|---|
Objektum | Kulcs-érték párok rendezetlen gyűjteménye | {"kulcs": "érték", "szám": 123} |
Tömb | Rendezett értéklista | ["egy", "kettő", 3] |
String | Unicode karakterlánc, dupla idézőjelek között | "Hello Világ!" |
Number | Egész vagy lebegőpontos szám | 123.45 |
Boolean | Logikai érték: true vagy false |
true |
Null | Érték hiányát jelző speciális érték | null |
A JSON szintaxis szigorú, és minden részletnek pontosan meg kell felelnie a specifikációnak. Egyetlen elfelejtett vessző vagy helytelenül elhelyezett idézőjel is érvénytelenné teheti a teljes JSON dokumentumot, ami hibákhoz vezet az adatfeldolgozás során. Ezért fontos a precizitás és a validátorok használata.
JSON szintaxisának részletes elemzése
A JSON szintaxisa, bár egyszerű, rendkívül precíz. Ahhoz, hogy egy JSON dokumentum érvényes és feldolgozható legyen, minden szabályt pontosan be kell tartani. Ennek megértése kulcsfontosságú a hibamentes adatcsere biztosításához.
Kulcsok és értékek: A JSON építőkövei
Minden JSON objektum alapja a kulcs-érték pár. A kulcs mindig egy string, amelyet dupla idézőjelek közé kell tenni. A kulcsoknak egyedinek kell lenniük egy adott objektumon belül. Az értékek lehetnek bármely JSON adattípusúak: string, szám, boolean, null, objektum vagy tömb. A kulcsot és az értéket egy kettőspont (:
) választja el egymástól.
{
"termek_azonosito": "XYZ789", <-- "termek_azonosito" a kulcs, "XYZ789" az érték
"gyarto": "Innovatív Kft." <-- "gyarto" a kulcs, "Innovatív Kft." az érték
}
Fontos megjegyezni, hogy a kulcsoknak mindig stringeknek kell lenniük. Például a {kulcs: "érték"}
érvénytelen JSON, mert a kulcs nincs idézőjelek között. Szintén érvénytelen a {'kulcs': "érték"}
, mert a JSON csak a dupla idézőjeleket fogadja el kulcsok és string típusú értékek esetén.
Vesszők és kettőspontok szerepe
A vessző (,
) szerepe az elemek elválasztása:
- Egy objektumon belül a kulcs-érték párokat választja el egymástól.
- Egy tömbön belül az egyes értékeket választja el egymástól.
A kettőspont (:
) pedig a kulcsot választja el az értékétől egy kulcs-érték páron belül.
Egy gyakori hiba a felesleges vessző használata az utolsó elem után, ami sok JSON parser számára szintaktikai hibát jelent:
{
"nev": "Péter",
"kor": 42,
"varos": "Budapest", <-- HIBA! Nincs vessző az utolsó elem után
}
A helyes forma a következő:
{
"nev": "Péter",
"kor": 42,
"varos": "Budapest"
}
Whitespace (szóközök, sortörések) kezelése
A JSON formátum megengedi a whitespace (szóköz, tabulátor, sortörés) karakterek használatát a strukturális elemek között (pl. kulcs és kettőspont között, értékek között). Ezek a karakterek javítják az emberi olvashatóságot, de a gépi feldolgozás szempontjából irrelevánsak. A parserek általában figyelmen kívül hagyják őket.
Ez a két JSON példa funkcionálisan teljesen azonos:
{"nev":"Anna","kor":28}
{
"nev": "Anna",
"kor": 28
}
A második forma sokkal olvashatóbb, és ezért ezt javasolt használni a fejlesztés során, bár a hálózaton való továbbítás előtt gyakran „minifikálják” (eltávolítják a whitespace-t) a méret csökkentése érdekében.
Unicode karakterek kezelése
A JSON stringek Unicode karaktereket használnak, ami azt jelenti, hogy szinte bármilyen nyelven írt szöveg, beleértve a magyar ékezetes karaktereket is, közvetlenül megjeleníthető. Speciális karakterek, mint például az idézőjelek vagy a backslash, escape karakterrel (\
) jelölhetők. Például \"
jelöli az idézőjelet egy stringen belül, és \\
jelöli a backslash-t.
Példa Unicode karakterekkel:
{
"termek_leiras": "Ez egy magyar ékezetes szöveg: áéíóöőúüű. Különleges karakterek: \"idézőjel\" és \\backslash\\."
}
Érvényes és érvénytelen JSON példák
Nézzünk meg néhány példát az érvényes és érvénytelen JSON struktúrákra, hogy jobban megértsük a szabályokat:
Érvényes JSON
{
"felhasznalo": {
"id": 101,
"nev": "Kovács János",
"email": "janos.kovacs@email.hu",
"aktiv": true,
"hobbi": ["olvasás", "túra", "főzés"],
"cim": {
"utca": "Fő utca",
"varos": "Debrecen",
"iranyitoszam": "4024"
},
"utolso_bejelentkezes": null
},
"rendelesek_szama": 5
}
Ez egy komplex, de teljesen érvényes JSON dokumentum, amely objektumokat, tömböket, stringeket, számokat, boolean értékeket és null-t is tartalmaz, mindezt a helyes szintaktikai szabályok szerint.
Érvénytelen JSON
{
"nev": 'Kiss Éva', <-- Hiba: Egyszeres idézőjelek stringhez
kor: 25, <-- Hiba: Kulcs nincs idézőjelek között
"varos": "Szeged",
"telefonszam": 123-456-7890, <-- Hiba: Szám nem lehet ilyen formátumú
"email": "eva.kiss@email.hu",
} <-- Hiba: Felesleges vessző az utolsó elem után
Ahogy látható, a JSON szintaxisa rendkívül szigorú, és a legkisebb eltérés is érvénytelenné teszi a dokumentumot. Éppen ezért elengedhetetlen a JSON validátorok használata fejlesztés közben, hogy elkerüljük a futásidejű hibákat.
A JSON szintaxisának szigorú betartása elengedhetetlen a rendszerek közötti zökkenőmentes adatcsere és az adatintegritás biztosításához. A legkisebb hiba is meghiúsíthatja a kommunikációt.
A JSON szerepe az adatcserében: Miért nélkülözhetetlen?

A JSON nem csupán egy adatformátum; mára az adatcsere de facto szabványává vált a modern szoftverfejlesztésben. Elterjedtsége nem véletlen, hiszen számos előnnyel jár, amelyek nélkülözhetetlenné teszik a mai komplex, elosztott rendszerekben.
Webes API-k (RESTful API-k) és a JSON
Az egyik legfontosabb terület, ahol a JSON dominál, a webes API-k, különösen a RESTful API-k. A REST (Representational State Transfer) egy architektúrális stílus a webes szolgáltatások tervezéséhez, amely a HTTP protokollra épül. A RESTful API-k segítségével különböző alkalmazások kommunikálhatnak egymással az interneten keresztül, adatokat kérhetnek le, küldhetnek el vagy módosíthatnak. A JSON tökéletesen illeszkedik ehhez a modellhez, mivel:
- Könnyűsúlyú: A JSON kevesebb adatforgalmat generál, mint az XML, ami gyorsabb válaszidőket és kisebb hálózati terhelést eredményez.
- Egyszerűen értelmezhető: A legtöbb programozási nyelv beépített támogatással rendelkezik a JSON parserekhez, ami leegyszerűsíti az adatok szerializálását (objektumból JSON-né alakítás) és deszerializálását (JSON-ből objektummá alakítás).
- Emberi olvashatóság: A fejlesztők könnyen debuggolhatják az API válaszait, mivel a JSON struktúra átlátható.
Amikor egy weboldal vagy mobilalkalmazás adatot kér egy szervertől (például egy felhasználó profilját vagy egy terméklistát), a szerver gyakran JSON formátumban küldi vissza a kért információt. A kliensoldali alkalmazás ezután könnyedén feldolgozza ezt a JSON-t, és megjeleníti a felhasználó számára.
Kliens-szerver kommunikáció
A webes API-k mellett a JSON a kliens-szerver kommunikáció általános nyelvévé vált. Legyen szó egy modern Single Page Application (SPA) frontendjéről (pl. React, Angular, Vue.js) és a backendről (pl. Node.js, Python/Django, Java/Spring), vagy egy mobilalkalmazás és a felhőalapú szolgáltatások közötti adatcseréről, a JSON biztosítja a zökkenőmentes adatátvitelt. Az adatok küldése és fogadása JSON formátumban rendkívül hatékony, mivel a böngészők és a mobil operációs rendszerek is natívan támogatják.
Mobil alkalmazások és a JSON
A mobilalkalmazások fejlesztésében a JSON szintén kulcsszerepet játszik. A mobil eszközök gyakran korlátozott erőforrásokkal (akkumulátor, sávszélesség) rendelkeznek, ezért a könnyűsúlyú adatformátumok előnyben részesülnek. A JSON kis mérete és gyors feldolgozhatósága ideálissá teszi a szerverről érkező adatok kezelésére, legyen szó hírcsatornákról, terméklistákról, felhasználói adatokról vagy bármilyen más dinamikus tartalomról. Az Android (Kotlin/Java) és iOS (Swift/Objective-C) platformok is kiválóan támogatják a JSON kezelését beépített vagy külső könyvtárak segítségével.
Adatbázisok (NoSQL, pl. MongoDB) és a JSON
Bár a hagyományos relációs adatbázisok (pl. MySQL, PostgreSQL) is képesek JSON adatok tárolására (gyakran speciális adattípusok segítségével), a NoSQL adatbázisok, különösen a dokumentum-orientált adatbázisok, mint a MongoDB vagy a Couchbase, alapvetően JSON-szerű dokumentumokban tárolják az adatokat. A MongoDB például BSON-t (Binary JSON) használ, ami a JSON bináris reprezentációja, és lehetővé teszi a hatékonyabb tárolást és lekérdezést, miközben megőrzi a JSON rugalmasságát és hierarchikus struktúráját.
Ez a megközelítés rendkívül rugalmassá teszi az adatmodellezést, mivel nem kell előre szigorú sémát definiálni, mint a relációs adatbázisoknál. A dokumentumok struktúrája dinamikusan változhat, ami különösen előnyös gyorsan változó adatok vagy prototípusfejlesztés esetén.
Konfigurációs fájlok
A JSON nem csak adatcserére, hanem konfigurációs fájlok tárolására is kiválóan alkalmas. Sok modern alkalmazás és keretrendszer használ JSON formátumú fájlokat (pl. package.json
a Node.js-ben, appsettings.json
a .NET Core-ban) a beállítások, paraméterek és egyéb konfigurációs adatok tárolására. Az emberi olvashatóság és a strukturált formátum miatt könnyű kezelni és módosítani ezeket a fájlokat.
Logolás és monitoring
Az elosztott rendszerekben a logolás és a monitoring létfontosságú. A JSON formátumú logbejegyzések egyre népszerűbbé válnak, mivel lehetővé teszik a strukturált logolást. Ahelyett, hogy egyszerű szöveges sorokat írnánk, a JSON segítségével az egyes logbejegyzésekhez metaadatokat (pl. időbélyeg, log szint, forrás, felhasználói azonosító) is hozzárendelhetünk. Ez jelentősen megkönnyíti a logok elemzését, szűrését és vizualizációját olyan eszközökkel, mint az ELK Stack (Elasticsearch, Logstash, Kibana).
Példa strukturált JSON logbejegyzésre:
{
"timestamp": "2023-10-27T10:30:00Z",
"level": "INFO",
"service": "felhasznalo-szolgaltatas",
"message": "Felhasználó bejelentkezett",
"userId": 12345,
"ipAddress": "192.168.1.100"
}
Mikroszolgáltatások közötti kommunikáció
A mikroszolgáltatások architektúrájában, ahol számos kis, független szolgáltatás kommunikál egymással, a JSON a preferált adatformátum. Az egyes szolgáltatások különböző programozási nyelveken íródhatnak, de a JSON mint közös nyelv biztosítja az interoperabilitást. A szolgáltatások REST API-kon keresztül cserélnek JSON üzeneteket, lehetővé téve a laza csatolást és a rugalmas fejlesztést.
Összességében a JSON rugalmassága, egyszerűsége és platformfüggetlensége tette a modern digitális ökoszisztéma nélkülözhetetlen elemévé. Képes hidat építeni a különböző technológiák és rendszerek között, biztosítva az adatok zökkenőmentes áramlását és feldolgozását.
JSON és a JavaScript kapcsolata
Ahogy a neve is mutatja (JavaScript Object Notation), a JSON szoros kapcsolatban áll a JavaScript programozási nyelvvel. Ez a kapcsolat nem véletlen, hiszen a JSON eredetileg a JavaScript objektumok szöveges reprezentációjára jött létre. Ennek köszönhetően a JavaScript natívan és rendkívül hatékonyan képes kezelni a JSON formátumú adatokat, ami jelentősen leegyszerűsíti a webes fejlesztési feladatokat.
Objektumok konvertálása JSON stringgé: JSON.stringify()
A JavaScriptben van egy beépített globális objektum, a JSON
, amely két fő metódust kínál a JSON adatok kezelésére. Az egyik ilyen metódus a JSON.stringify()
. Ez a metódus egy JavaScript objektumot vagy bármilyen más JavaScript értéket (pl. tömb, szám, string, boolean) vesz át, és átalakítja azt egy JSON formátumú stringgé. Ez a folyamat a szerializálásnak is nevezik.
Ez a funkció különösen hasznos, amikor adatokat kell küldeni egy szervernek, vagy tárolni kell őket valahol (pl. a böngésző local storage-ében), mivel a hálózaton keresztül vagy a tárolóba csak string formátumban lehet adatot továbbítani.
const felhasznaloiAdatok = {
nev: "Nagy Zoltán",
kor: 45,
email: "zoltan.nagy@example.com",
aktiv: true,
hobbi: ["futás", "kertészkedés"],
cim: {
utca: "Kossuth Lajos utca",
hazszam: 10,
varos: "Szeged"
}
};
const jsonString = JSON.stringify(felhasznaloiAdatok);
console.log(jsonString);
// Eredmény: {"nev":"Nagy Zoltán","kor":45,"email":"zoltan.nagy@example.com","aktiv":true,"hobbi":["futás","kertészkedés"],"cim":{"utca":"Kossuth Lajos utca","hazszam":10,"varos":"Szeged"}}
A JSON.stringify()
metódusnak van két opcionális paramétere is:
replacer
: Egy függvény vagy tömb, amely módosíthatja az objektum szerializálásának módját.space
: Egy string vagy szám, amely a kimeneti JSON string formázását befolyásolja (pl. behúzás). Ez segít az olvashatóságban, különösen debuggolás során.
const jsonStringFormatalt = JSON.stringify(felhasznaloiAdatok, null, 2);
console.log(jsonStringFormatalt);
// Eredmény:
// {
// "nev": "Nagy Zoltán",
// "kor": 45,
// "email": "zoltan.nagy@example.com",
// "aktiv": true,
// "hobbi": [
// "futás",
// "kertészkedés"
// ],
// "cim": {
// "utca": "Kossuth Lajos utca",
// "hazszam": 10,
// "varos": "Szeged"
// }
// }
JSON string konvertálása JavaScript objektummá: JSON.parse()
A másik kulcsfontosságú metódus a JSON.parse()
. Ez a metódus egy JSON formátumú stringet vesz át, és átalakítja azt egy JavaScript objektummá. Ezt a folyamatot deszerializálásnak vagy parsingnak nevezik.
Ez a funkció alapvető fontosságú, amikor adatokat kapunk egy szervertől (pl. egy REST API válaszából) vagy egy tárolóból, és azokat JavaScriptben kell feldolgozni és manipulálni.
const kapottJsonString = '{"termek_nev":"Okostelefon","ar":899.99,"raktaron":true,"kategoria":"Elektronika"}';
const termekObjektum = JSON.parse(kapottJsonString);
console.log(termekObjektum.termek_nev); // Eredmény: Okostelefon
console.log(termekObjektum.ar); // Eredmény: 899.99
console.log(typeof termekObjektum.ar); // Eredmény: number
A JSON.parse()
metódusnak is van egy opcionális paramétere, a reviver
. Ez egy függvény, amely lehetővé teszi, hogy az átalakítás során módosítsuk az értékeket, például dátum stringeket valódi Date
objektumokká alakítsunk. Ez különösen hasznos lehet, mivel a JSON nem támogatja natívan a dátumtípust, hanem stringként tárolja.
A két formátum közötti átjárhatóság előnyei
A JSON.stringify()
és a JSON.parse()
metódusok közötti zökkenőmentes átjárhatóság hatalmas előnyt jelent a webes fejlesztésben. Ennek köszönhetően a front-end és a back-end alkalmazások könnyedén tudnak adatot cserélni, anélkül, hogy bonyolult konverziós logikát kellene írniuk. A JavaScript fejlesztők számára a JSON adatstruktúrák kezelése teljesen természetes, mivel azok a JavaScript objektumokhoz hasonlóan viselkednek.
A JSON és a JavaScript natív kapcsolata teszi lehetővé a webes alkalmazások dinamikus és interaktív működését, minimalizálva az adatkezelés komplexitását a kliens és szerver oldalon egyaránt.
Dátumok és funkciók kezelése JSON-ben: Kihívások
Bár a JSON kiválóan alkalmas a legtöbb adattípus reprezentálására, van néhány kivétel és kihívás:
- Dátumok: A JSON nem rendelkezik beépített dátum adattípussal. A dátumokat általában ISO 8601 formátumú stringként tárolják (pl.
"2023-10-27T10:30:00Z"
). Amikor egy ilyen stringetJSON.parse()
-szal alakítunk át, az továbbra is string marad. HaDate
objektumként szeretnénk használni, manuálisan kell konvertálni, vagy areviver
függvényt kell használni aJSON.parse()
-ban. - Függvények: A JSON nem tud függvényeket tárolni. Ha egy JavaScript