JSON Parse Errors: 10 आम समस्याएं और उन्हें ठीक करने का तरीका

2024-09-12

API responses और config files अक्सर एक छोटी parsing गलती से fail हो जाते हैं। इस guide में 10 common issues, उनका कारण, fix, और editor में error line ढूंढने का तरीका दिया गया है.

1. Keys या strings में single quotes

JSON में keys और string values के लिए double quotes जरूरी हैं। JavaScript object literals single quotes स्वीकार करते हैं, JSON नहीं.

सामान्य error: Unexpected token ' in JSON at position …

गलत
{
  name: "Alice",
  "age": 30
}
सही
{
  "name": "Alice",
  "age": 30
}

2. Trailing commas

Last property या array element के बाद comma नहीं होना चाहिए। कुछ editors trailing comma जोड़ देते हैं, जो strict JSON parser तोड़ देता है.

ES2019+ JavaScript literals trailing comma allow करते हैं, लेकिन JSON spec (RFC 8259) कभी नहीं.

गलत
{
  "items": [1, 2, 3,],
  "tags": ["a", "b",]
}
सही
{
  "items": [1, 2, 3],
  "tags": ["a", "b"]
}

3. बिना quotes के keys

हर key double-quoted string होनी चाहिए। { active: true } JSON में invalid है.

{
  active: true,
  "score": 95
}

4. Missing या extra commas

Adjacent key-value pairs के बीच comma चाहिए, और extra comma से Unexpected token error आता है.

Comma missing
{
  "a": 1
  "b": 2
}
Extra comma
{
  "a": 1,, "b": 2
}

5. गलत escape sequences

Paths में backslash double लिखें: \\। एक अकेला backslash Bad escaped character दे सकता है.

गलत
{ "path": "C:\Users\data" }
सही
{ "path": "C:\\Users\\data" }

6. NaN, Infinity, undefined

JSON में JavaScript-only values जैसे NaN या undefined valid नहीं हैं। खाली मान के लिए null इस्तेमाल करें.

{ "value": NaN }

7. Comments

JSON में // या /* */ comments valid नहीं हैं। Parse करने से पहले comments हटाएं.

JSON5 और JSONC (जैसे VS Code) comments allow करते हैं, लेकिन वे JSON.parse के लिए valid input नहीं हैं। Data exchange के लिए strict JSON रखें.

{
  // user profile
  "name": "Bob"
}

8. Multiple top-level values या unclosed brackets

Root पर केवल एक object या एक array valid है। } या ] missing होने पर अक्सर Unexpected end of JSON input मिलता है.

9. Invalid numbers

Leading zero (007), hex (0xFF), या lone decimal point JSON में invalid हैं.

10. Unescaped control characters

String के अंदर newline/tab को literal नहीं, बल्कि \n और \t के रूप में लिखना चाहिए.

इसे ऑनलाइन आज़माएं

JSON टूल में text paste करें। Error होने पर sidebar में message और line number दिखता है, और editor उसी line को highlight करता है.

Fix के बाद format या minify दोबारा चलाएं। Success banner का मतलब JSON valid है.