tigtools

JSON-ellenőrző

Illessze be a JSON-t a szintaxis JSON szabvány szerinti ellenőrzéséhez. A hibákat jelölő és közérthető magyarázat mutatja.

Böngészőben fut Regisztráció nélkül

Az eredmény itt jelenik meg, amint beilleszti a JSON-t.

Használata

  1. Illessze be a JSON-t a mezőbe, nyisson meg egy fájlt, vagy kattintson a „Példa kipróbálása” gombra a hibajelentés megtekintéséhez.
  2. Olvassa el az eredményt: zöld üzenet érvényes JSON esetén, vagy az első hiba a sorral, az oszloppal és a probléma alatti jelölővel.
  3. Javítsa ki a hibaüzenetben leírt hibát, és ellenőrizze újra; az eredmény gépelés közben frissül.
  4. Érvényes JSON esetén tekintse meg a statisztikákat: gyökértípus, kulcsok száma, beágyazási mélység és méret bájtban.

Hogyan működik

Az ellenőrző a JSON szabvány (RFC 8259 / ECMA-404) szerint ellenőrzi a szintaxist a böngésző saját JSON-elemzőjével, így az itt megfelelő dokumentumot a JavaScript JSON.parse és más nyelvek szabványkövető elemzői is elfogadják. Ha az elemzés sikertelen, az eszközhöz írt szigorú ellenőrző egyszer végigolvassa a szöveget, megkeresi az első hibát és annak pontos sorát és oszlopát, majd megjeleníti a sort, a probléma alatt egy ^ jelölővel.

A tippek azokra a hibákra összpontosítanak, amelyeket az emberek valójában elkövetnek, amikor kézzel írnak JSON-t vagy JavaScriptből másolnak: vessző az utolsó elem után, szimpla idézőjeles sztringek, idézőjel nélküli kulcsok, // vagy /* */ megjegyzések, NaN, Infinity vagy undefined értékek, nyers sortörések sztringekben, és két egymás után beillesztett JSON-dokumentum (mint a JSON Lines fájlokban). Csak az első hibát jelzi, mert egy hiba gyakran mindent összezavar utána.

Az eszköz csak a szintaxist ellenőrzi. Nem végez JSON Schema szerinti validálást, így nem tudja megmondani, ha egy kötelező mező hiányzik. Az ismétlődő kulcsokra sem figyelmeztet: a szabvány megengedi őket, és a legtöbb elemző az utolsó értéket tartja meg. A statisztika minden objektum kulcsait minden szinten megszámolja; a mélység 1 egy lapos objektum vagy tömb esetén, és minden beágyazási szinttel eggyel nő.

Példák

JavaScriptből másolt konfiguráció

A(z) {name: 'demo', debug: true,} az 1. sor 2. oszlopában hibát jelez: „Az objektum kulcsainak dupla idézőjelben kell lenniük”. Miután a kulcsot dupla idézőjelbe teszi, a következő futtatás a szimpla idézőjeles karakterláncra, majd a záró vesszőre mutat.

Naplófájl soronként egy objektummal

Ha beilleszt két sort, például {"id":1} és {"id":2}, a 2. sorban ezt az üzenetet kapja: „A JSON-érték vége után további tartalom található”. Mindegyik sor önmagában érvényes JSON (JSON Lines), de együtt szögletes zárójelek közé kell őket tenni, és vesszővel elválasztani.

API-payload ellenőrzése

Egy 2 MB-os válasz egy pillanat alatt ellenőrizhető, és megjeleníti a gyökértípust: Array, 1,500 legfelső szintű elemet és a 4-es beágyazási mélységet – ez gyors ellenőrzés, mielőtt kódot írna rá.

Gyakori kérdések

Ez a JSON Schema szerint ellenőriz?

Nem. Azt ellenőrzi, hogy a szöveg szabályos JSON-e. A kötelező mezők, típusok vagy formátumok ellenőrzéséhez JSON Schema-validátorra van szükség, amelyet ez az eszköz nem tartalmaz.

Miért csak egy hiba jelenik meg?

Az első szintaktikai hiba után az elemző nem tudhatja, mit akart a szerző, ezért a későbbi „hibák” gyakran az első következményei. Javítsa ki a jelzett problémát, és ha van következő, azonnal megjelenik.

Érvényesek lehetnek valaha a megjegyzések vagy a záró vesszők?

A JSON-ben nem. Az olyan formátumok, mint a JSON5 és a JSONC (egyes szerkesztők beállításfájljai használják) megengedik ezeket, de a szabványos JSON-elemzők elutasítják, ezért itt hibaként jelennek meg.

Érvényes JSON-e egyetlen érték, például a 42 vagy a "hello"?

Igen. Az RFC 7159 óta bármilyen JSON-érték lehet gyökérelem, nem csak objektumok és tömbök. Egyes régebbi eszközök és API-k továbbra is objektumot vagy tömböt várnak a legfelső szinten.

Miért lehet más az oszlop, mint a szerkesztőmben?

Az oszlopok számolása UTF-16 kódegységekben történik, ahogy a JavaScript számolja a karakterlánc hosszát. Az emoji és néhány ritka karakter kettőnek számít, a tabulátor pedig egy oszlopnak, miközben a szerkesztők szélesebbként jeleníthetik meg.

Adatvédelem

Az ellenőrzés teljes egészében a böngészőjében fut. A beillesztett vagy megnyitott JSON nem kerül feltöltésre, tárolásra, és nem szerepel az elemzésekben.