RSS Feed LinkedIn Google Plus

Címke: JSON

  1. JSON egyedi objektumok tárolására

    2011. november 14. hétfő

    Jó a JSON (leszámítva, hogy nem lehet benne megjegyzéseket írni), de csak adat-objektumokra: elemi típusoknak és ezek (indexelt vagy hash-)tömbjének a tárolására. A JavaScriptben azonban számos más típust is használunk, leggyakrabban talán a Date-et.

    Mit tehet ilyenkor a programozó? Két lehetőség van: vagy mindenhol az eredeti JSON objektumot adjuk át, és csak a célfelhasználás helyén hozzuk létre a megfelelő objektumokat, vagy az adatok betöltésekor végigmegyünk a stuktúrán… Persze, jobb lenne a második, hiszen akkor az egész programban tudnánk, hogy a megfelelő adatok vannak mindenhol, de sokszor sokféle helyen lehetnek az egyedi objektumaink, mindegyikre külön esetet írni, hát…

    Szerencsére a JSON biztosít erre lehetőséget a replacer és reviver függvényekkel, viszont ha az adatokat JSONban el is tároljuk (azaz nem csak a kommunikációs réteget érinti), a projekt elindulása után már körülményes az átállás. A bejegyzés a Weblaboron is olvasható.

    (more…)


  2. Orderly-JSON

    2011. július 7. csütörtök

    • Az XMLSchema egy XML-ként leírható séma, mely XML dokumentumok érvényesítésére való.
    • A JSONSchema egy JSON-ként leírható séma, mely JSON dokumentumok érvényesítésére való.

    Mindkettő esetben elég terjengős a szöveg, géppel feldolgozni könnyű, de kézzel beírni nem annyira. Az Orderly-JSON egy humánusabb lehetőséget kínál. Az így létrehozott sémák jobban átláthatóak, és a validáláshoz JSONSchema generálható belőlük. Majdnem minden lehetőséget biztosít, amit a JSONSchema is, csak azokat hagyták ki, amik nem használhatóak érvényesítésre. Kár, hogy C-ben lett írva, nem JavaScript-ben…


  3. JSON+Comments

    2011. június 9. csütörtök

    Egyet tudok érteni getify gondolataival: a JSON formátum ma már nem csupán üzenetek, adatok küldésére használatos. Kicsit hosszúra sikeredett a bejegyzése, de jó érvekkel támasztja alá. Douglas Crockford is azt írta még 2005-ben:

    a JSON kódolónak nem szabad megjegyzéseket tennie a stringbe, a JSON dekódolónak viszont el kell fogadnia és figyelmen kívül hagynia őket.

    Miért is olyan fontos ez? Ha a konfigurációs fájl formátuma JSON (például JSLint-nél is), vagy template rendszerként használnánk (szintén fájl formában), akkor ott a programozónak szüksége van arra, hogy megjegyzéseket tegyen a „kódba”. A JSON+Comments (JSON+C) lényegében valid JSON plussz valid megjegyzések. Nem szeretné módosítani a jelenlegi JSON parse-olókat, ő a JSON.minify() függvényt vezette be, ami eltávolítja a megjegyzéseket és a white space-eket (mondván, a megjegyzéseket is tekinthetjük üres karaktereknek, amiket szintén azért használunk, hogy érthetőbb legyen a struktúránk.)

    De létezik más megközelítés is: a JSON-t nem erre találták ki. Ha konfigurációs fájlt szeretnék, sok esetben használhatnék JavaScriptet… bár, ha több nyelven kell hozzáférni, jobb a JSON.