Hogyan használd?
- Másold be a JSON szöveget a beviteli mezőbe.
- Válaszd ki, hogy formázni, tömöríteni vagy csak ellenőrizni szeretnéd.
- Állítsd be a behúzás mértékét, ha szükséges.
- Ha hibát jelez, javítsd a megadott sorban, majd ellenőrizd újra.
- Másold ki a kész eredményt.
Mire jó a JSON formázó és validátor?
A JSON formázó és validátor két dolgot csinál. Egyrészt a gépeknek szánt, egyetlen hosszú sorba tömörített JSON-t áttekinthető, behúzott formára hozza. Másrészt ellenőrzi, hogy a szöveg érvényes JSON-e, és ha nem, megmutatja, hol akad el a feldolgozás. Angolul json formatter, json validator vagy json viewer néven keresik.
Akkor jön jól, ha:
- egy API válaszát szeretnéd átnézni,
- egy konfigurációs fájl nem töltődik be, és nem látod, miért,
- naplófájlból kimásolt JSON-t kell értelmezned,
- egy hosszú, formázott JSON-t szeretnél egy sorba tömöríteni küldés előtt.
Minden a böngésződben történik, a JSON nem kerül fel szerverre. Így belső API-válaszokat vagy éles adatokat is nyugodtan ellenőrizhetsz.
Példa: tömörített JSON formázása
Ez a bemenet egy sorban érkezik, ahogy egy API általában küldi:
{"nev":"Krux","eszkozok":["pdf","kep"],"ingyenes":true,"limit":10}
Két szóközös behúzással formázva:
{
"nev": "Krux",
"eszkozok": [
"pdf",
"kep"
],
"ingyenes": true,
"limit": 10
}
A tartalom pontosan ugyanaz, csak a szóközök és sortörések változtak. A JSON-ban a szerkezeti jelek ({ } [ ] : ,) körüli szóköz nem számít, ezért a formázás és a tömörítés (minify) nem módosítja az adatot.
Melyik behúzást válaszd? A két szóköz a legelterjedtebb, a négy szóköz mély szerkezetnél olvashatóbb, a tabulátort pedig egyes csapatok kódolási szabályai írják elő. Ha a fájlt verziókezelőben tárolod, maradj annál, amit a projekt már használ, különben minden sor módosítottnak látszik.
Formázás vagy tömörítés: mennyit számít a méret?
A behúzás és a sortörés is karakter, ezért a formázott JSON mindig nagyobb, mint a tömörített. A fenti példa három változatban:
| Változat | Hossz |
|---|---|
| Tömörített (minify), egy sorban | 66 karakter |
| Formázott, 2 szóközös behúzással | 96 karakter |
| Formázott, 4 szóközös behúzással | 114 karakter |
Egy ilyen kis objektumnál ez lényegtelen, de egy több ezer elemű, mélyen egymásba ágyazott válasznál már jelentős lehet a különbség. Ökölszabály:
- Olvasáshoz, hibakereséshez, kódáttekintéshez formázd meg. A json viewer nézetben így látod a szerkezetet, és könnyebb megtalálni egy adott kulcsot.
- Hálózati küldéshez, tároláshoz, beágyazáshoz tömörítsd. A szerver és a kliens úgyis gépi úton olvassa.
- Konfigurációs fájlnál, amelyet emberek szerkesztenek, maradjon formázott, mert a tömörített változatban könnyű elrontani egy zárójelet.
A két forma között bármikor oda-vissza válthatsz, az adat nem sérül.
A leggyakoribb JSON-hibák
A JSON szigorúbb, mint a JavaScript objektumok írásmódja. Az alábbi hibák adják a legtöbb „invalid JSON” üzenetet:
| Hibás | Javított | Mi a gond? |
|---|---|---|
{"a": 1,} | {"a": 1} | utolsó elem utáni vessző |
{'a': 1} | {"a": 1} | szimpla idézőjel |
{a: 1} | {"a": 1} | idézőjel nélküli kulcs |
{"a": True} | {"a": true} | a true, false, null csak kisbetűs lehet |
{"a": undefined} | {"a": null} | az undefined nem JSON-érték |
{"a": 01} | {"a": 1} | szám nem kezdődhet nullával |
{"a": 1 // megjegyzés} | {"a": 1} | a JSON nem enged megjegyzést |
Ha a hibaüzenet egy sor- és oszlopszámot ad meg, a hiba gyakran előtte van. Egy lezáratlan idézőjel vagy hiányzó vessző miatt a feldolgozó csak a következő elemnél veszi észre, hogy valami nem stimmel.
Pythonból vagy JavaScript-kódból kimásolt adatnál különösen figyelj a True/None és a szimpla idézőjelek cseréjére: ezek ott helyesek, JSON-ban viszont hibásak.
JSON stringify és escape-elés: amikor JSON kerül egy szövegbe
Néha egy JSON-t szövegként kell beágyazni egy másik JSON-ba, egy adatbázismezőbe vagy egy környezeti változóba. Ezt hívják angolul json stringify-nak, a JavaScript JSON.stringify() függvénye nyomán.
A {"nev":"Krux","aktiv":true} objektum szövegként, escape-elve így néz ki:
"{\"nev\":\"Krux\",\"aktiv\":true}"
A belső idézőjelek elé fordított perjel (\) kerül, hogy ne zárják le a külső szöveget. A legfontosabb escape-jelek:
\"– idézőjel a szövegen belül,\\– maga a fordított perjel,\n– sortörés,\t– tabulátor.
Ha egy API-tól ilyen, idézőjelek közé zárt, perjelekkel teli választ kapsz, azt előbb vissza kell alakítani (unescape), és csak utána lesz formázható objektum.
Tippek, mielőtt élesben használod
- Kódolás: a rendszerek között küldött JSON-nak UTF-8 kódolásúnak kell lennie. Ékezetes magyar szöveget így escape-elés nélkül, közvetlenül is tárolhatsz benne.
- Nagy számok: a böngészők a számokat lebegőpontosan kezelik, ezért a 9 007 199 254 740 992 (2^53) feletti egész számok pontatlanná válhatnak. Hosszú azonosítókat érdemes szövegként (idézőjelben) tárolni.
- Ismétlődő kulcsok: ha egy objektumban kétszer szerepel ugyanaz a kulcs, a feldolgozók többsége az utolsót tartja meg. Ez rejtett hibákhoz vezethet, érdemes elkerülni.
- Tömörítés küldés előtt: hálózaton küldve a tömörített forma kisebb. Olvasáshoz és hibakereséshez viszont mindig formázd meg.
Gyakori kérdések
Mi a különbség a JSON formázás és a validálás között?
A formázás behúzással és sortörésekkel olvashatóvá teszi a JSON-t, a validálás pedig ellenőrzi, hogy szabályos-e. Hibás JSON-t nem lehet megformázni, ezért a formázó előbb mindig ellenőriz.
Megváltoztatja a formázás az adataimat?
Nem. Csak a szerkezeti jelek közötti szóközök és sortörések változnak, az értékek és a sorrend ugyanaz marad.
Lehet megjegyzés egy JSON-fájlban?
A szabványos JSON nem enged megjegyzést. Egyes eszközök saját kiterjesztéssel elfogadják, de egy általános JSON-feldolgozó hibát fog jelezni rá.
Miért hibás a JSON, ha a végén csak egy vessző van?
A JSON-ban vessző csak két elem között állhat, az utolsó után nem. Töröld az utolsó elem utáni vesszőt, és a hiba eltűnik.
Használhatok szimpla idézőjelet a JSON-ban?
Nem, a kulcsokat és a szöveges értékeket is dupla idézőjelbe kell tenni. A szimpla idézőjel JavaScriptben és Pythonban működik, JSON-ban nem.
Mit jelent a JSON stringify?
Azt, hogy egy objektumot JSON szöveggé alakítasz. Ha ezt a szöveget egy másik szövegbe ágyazod, a belső idézőjelek elé fordított perjel kerül.
Biztonságos ide bemásolni éles API-válaszokat?
Igen, mert minden a böngésződben történik, és a JSON nem kerül fel szerverre. Ettől függetlenül jelszót vagy titkos kulcsot csak indokolt esetben másolj bárhová.
Források
Utoljára módosítva: 2026. november 3.