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 आता है.
{
"a": 1
"b": 2
}{
"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 है.