तकनीकी सहायता

आम JSON त्रुटियाँ: ट्रेलिंग कॉमा, उद्धरण और Unexpected token

अमान्य JSON ठीक करें: ट्रेलिंग कॉमा, सिंगल कोट, बिना उद्धरण की कुंजियाँ, और Unexpected token। देखें JSON.parse क्यों विफल होता है और JSON कैसे जाँचें।

त्वरित उत्तर

अधिकांश JSON त्रुटियाँ सख्त सिंटैक्स से आती हैं: ट्रेलिंग कॉमा, सिंगल कोट, बिना उद्धरण संपत्ति नाम, गायब कॉमा, बेमेल कोष्ठक, गलत एस्केप, या टिप्पणियाँ।

JSON JavaScript ऑब्जेक्ट जैसा दिखता है, पर अधिक सख्त है। संपत्ति नाम और स्ट्रिंग को डबल कोट चाहिए।

यदि Unexpected token दिखे, तो रिपोर्ट किया गया अक्षर वह जगह हो सकती है जहाँ पार्स रुका—ज़रूरी नहीं कि मूल गलती वहीं शुरू हुई हो।

आपका JSON अमान्य चिह्नित है। आमतौर पर छोटी सिंटैक्स समस्या है, टूटा फ़ाइल प्रारूप नहीं। नीचे की सात गलतियाँ अधिकांश Unexpected token पैदा करती हैं।

JSON इतनी आसानी से क्यों टूटता है?

JSON सख्त सिंटैक्स वाला डेटा प्रारूप है। JavaScript ऑब्जेक्ट लिटरल मिलता-जुलता दिख सकता है और फिर भी अमान्य JSON हो। मानक JSON में संपत्ति नाम और स्ट्रिंग को डबल कोट चाहिए, ट्रेलिंग कॉमा अनुमति नहीं, और टिप्पणियाँ प्रारूप का हिस्सा नहीं।

1. ट्रेलिंग कॉमा

अंतिम संपत्ति के बाद अतिरिक्त कॉमा समस्या है। मानक JSON इसे अनुमति नहीं देता।

अमान्य

{
  "name": "Alex",
  "age": 30,
}

मान्य

{
  "name": "Alex",
  "age": 30
}

वही नियम ऐरे पर लागू होता है। अंतिम आइटम के बाद कॉमा हटाएँ।

अमान्य

[
  "red",
  "green",
]

मान्य

[
  "red",
  "green"
]

2. डबल के बजाय सिंगल कोट

JavaScript अक्सर सिंगल कोट स्वीकार करता है। JSON नहीं। संपत्ति नाम और स्ट्रिंग मान दोनों डबल कोट इस्तेमाल करें।

अमान्य

{
  'name': 'Alex'
}

मान्य

{
  "name": "Alex"
}

3. बिना उद्धरण संपत्ति नाम

JavaScript में कभी-कभी name बिना उद्धरण लिखा जा सकता है। JSON में हर संपत्ति नाम डबल-कोट स्ट्रिंग होनी चाहिए।

अमान्य

{
  name: "Alex",
  age: 30
}

मान्य

{
  "name": "Alex",
  "age": 30
}

4. मानों के बीच गायब कॉमा

संपत्तियों और ऐरे आइटम के बीच कॉमा चाहिए। पार्सर अगले उद्धरण या ब्रेस पर Unexpected token बता सकता है, गायब कॉमा पर नहीं।

अमान्य

{
  "name": "Alex"
  "age": 30
}

मान्य

{
  "name": "Alex",
  "age": 30
}

5. कम या ज़्यादा ब्रैकेट और ब्रेस

ऑब्जेक्ट { } इस्तेमाल करते हैं। ऐरे [ ]। नेस्टेड JSON अक्सर तब विफल होता है जब ] गायब हो, } ज़्यादा हो, या दोनों बदल जाएँ। खुलने और बंद होने के जोड़े गिनें।

अमान्य

{
  "items": [1, 2
}

मान्य

{
  "items": [1, 2]
}

6. अमान्य एस्केप अनुक्रम

JSON स्ट्रिंग में बैकस्लैश एस्केप शुरू करता है। " , \ और \n जैसे अनुक्रम मान्य हैं। C:\Users लिखा Windows पथ नहीं: \U कानूनी JSON एस्केप नहीं। बैकस्लैश दोगुने करें, नहीं तो पार्सर उसी अक्षर पर रुकता है।

अमान्य

{"file":"C:\Users\Alex"}

मान्य

{"file":"C:\\Users\\Alex"}

7. JSON के अंदर टिप्पणियाँ

मानक JSON में टिप्पणी नहीं। कुछ कॉन्फ़िग टूल // या /* */ स्वीकार करते हैं (JSONC, JSON5 आदि)। वह मानक JSON नहीं, और JSON.parse उसे अस्वीकार करेगा।

अमान्य

{
  // user name
  "name": "Alex"
}

Unexpected token का अर्थ क्या है?

पार्सर ने उस स्थान पर अनाधिकृत अक्षर देखा। रिपोर्ट किया गया स्थान वह है जहाँ पढ़ना रुका। यदि पहले कॉमा छूटा, तो त्रुटि अगली संपत्ति के उद्धरण की ओर इशारा कर सकती है। शब्दांकन रनटाइम के अनुसार बदलता है; हर ब्राउज़र एक ही वाक्य नहीं छापेगा।

Unexpected end of JSON input का अर्थ क्या है?

मान पूरा होने से पहले पाठ खत्म हो गया। सामान्य कारण: गायब } या ], कटा इनपुट, खाली बॉडी, या कटा API उत्तर। यह एक ही बग नहीं।

JSON.parse() विफल क्यों होता है?

JSON.parse() केवल मान्य JSON पाठ स्वीकार करता है। यह सफल है:

const text = '{"name":"Alex"}';
const data = JSON.parse(text);

यह विफल है, क्योंकि सिंगल कोट JSON नहीं:

const text = "{'name':'Alex'}";
JSON.parse(text);

सटीक त्रुटि संदेश JavaScript रनटाइम पर निर्भर करता है। संदेश को संकेत मानें, फिर उस स्थान के पास कॉमा, उद्धरण और कोष्ठक देखें।

JSON JavaScript ऑब्जेक्ट के समान नहीं है

JavaScript ऑब्जेक्ट लिटरल { name: 'Alex' } जैसा दिख सकता है। मान्य JSON { "name": "Alex" } जैसा होना चाहिए: डबल-कोट नाम और स्ट्रिंग, बिना ट्रेलिंग कॉमा, बिना टिप्पणी।

  • JSON पाठ
  • पार्सर टोकन पढ़ता है
  • मान्य डेटा या Unexpected token
त्रुटि चिह्न वह जगह है जहाँ पार्स रुका, जो वास्तविक गलती के बाद हो सकती है।

JSON त्रुटि जल्दी कैसे खोजें

इस क्रम में काम करें। पूरी फ़ाइल फिर से लिखकर शुरू न करें।

  1. JSON को वैलिडेटर से गुजारें।
  2. पहली रिपोर्ट की गई त्रुटि पढ़ें।
  3. रिपोर्ट किए गए स्थान से थोड़ा पहले देखें।
  4. कॉमा जाँचें, खासकर ट्रेलिंग और गायब।
  5. उद्धरण जाँचें: केवल डबल कोट।
  6. { } और [ ] मिलाएँ।
  7. स्ट्रिंग में बैकस्लैश एस्केप जाँचें।
  8. सख्त JSON चाहिए तो टिप्पणियाँ हटाएँ।

आम सुधारों का त्वरित नक्शा:

समस्या सुधार
ट्रेलिंग कॉमाअंतिम आइटम के बाद कॉमा मिटाएँ।
सिंगल कोटनाम और स्ट्रिंग के लिए डबल कोट इस्तेमाल करें।
बिना उद्धरण कुंजीसंपत्ति नाम को डबल कोट में लपेटें।
गायब कॉमासंपत्तियों या ऐरे आइटम के बीच कॉमा रखें।
गायब कोष्ठकहर { } और [ ] जोड़ा बंद करें।
अमान्य एस्केपकानूनी एस्केप इस्तेमाल करें, या पथ में बैकस्लैश दोगुने करें।
टिप्पणीमानक JSON के लिए // और /* */ हटाएँ।

ब्राउज़र में JSON जाँचें और फ़ॉर्मैट करें

NEXNARA JSON फ़ॉर्मैट और तुलना इस डिवाइस पर JSON जाँच सकता है।

आप वैलिडेट कर सकते हैं, 2 स्पेस, 4 स्पेस या टैब से सुंदर कर सकते हैं, minify, दो दस्तावेज़ तुलना (JSON Diff), और .json फ़ाइल खोल सकते हैं। पार्स ब्राउज़र में JSON.parse इस्तेमाल करता है, eval नहीं।

5 MB से बड़े दस्तावेज़ धीमे लग सकते हैं। 15 MB से बड़ा पाठ ब्राउज़र में संसाधित नहीं होता, ताकि पृष्ठ प्रतिक्रियाशील रहे।

JSON प्रसंस्करण स्वयं आपके ब्राउज़र में होता है। इस टूल के लिए पाठ NEXNARA सर्वर पर नहीं भेजा जाता। विज्ञापन और अन्य साइट सुविधाएँ अभी भी नेटवर्क इस्तेमाल करती हैं; वह प्रसंस्करण से अलग है।

अमान्य JSON जाँचना है? JSON फ़ॉर्मैट और तुलना खोलें और पाठ चिपकाएँ।

FAQ

मेरा JSON Unexpected token क्यों कहता है?

पार्सर ने उस जगह अनाधिकृत अक्षर देखा। वास्तविक गलती—अक्सर गायब कॉमा या सिंगल कोट—उस स्थान से ठीक पहले हो सकती है।

क्या JSON में ट्रेलिंग कॉमा की अनुमति है?

नहीं। मानक JSON अंतिम संपत्ति या ऐरे आइटम के बाद कॉमा अनुमति नहीं देता। JavaScript ऑब्जेक्ट लिटरल अक्सर देते हैं।

क्या JSON सिंगल कोट इस्तेमाल कर सकता है?

नहीं। संपत्ति नाम और स्ट्रिंग डबल कोट इस्तेमाल करें।

क्या JSON में टिप्पणियाँ हो सकती हैं?

मानक JSON में नहीं। कुछ टूल टिप्पणी वाले JSONC या JSON5 स्वीकार करते हैं; JSON.parse फिर भी अस्वीकार करेगा।

JSON.parse() विफल क्यों होता है?

स्ट्रिंग मान्य JSON नहीं है। सामान्य कारण ट्रेलिंग कॉमा, सिंगल कोट, बिना उद्धरण कुंजियाँ, टिप्पणियाँ, या कटा मान हैं। सटीक संदेश रनटाइम पर निर्भर करता है।

JSON मान्य है या नहीं, कैसे जाँचें?

इसे JSON फ़ॉर्मैट और तुलना जैसे वैलिडेटर में चिपकाएँ, या कंसोल में JSON.parse बुलाएँ। यदि पार्स फेंके, तो पाठ मान्य JSON नहीं है।