Tech Help

सामान्य 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 फॉरमॅट / Diff या उपकरणावर JSON तपासू शकते.

तुम्ही वैध करू शकता, 2 स्पेस, 4 स्पेस किंवा टॅबने सुंदर करू शकता, minify, दोन दस्तऐवज तुलना (JSON Diff), आणि .json फाइल उघडू शकता. पार्स ब्राउझरमध्ये JSON.parse वापरते, eval नाही.

5 MB पेक्षा मोठे दस्तऐवज मंद वाटू शकतात. 15 MB पेक्षा मोठा मजकूर ब्राउझरमध्ये प्रक्रिया होत नाही, जेणेकरून पृष्ठ प्रतिसाद देईल.

JSON प्रक्रिया स्वतः तुमच्या ब्राउझरमध्ये होते. या साधनासाठी मजकूर NEXNARA सर्व्हरवर पाठवला जात नाही. जाहिराती आणि इतर साइट वैशिष्ट्ये अजून नेटवर्क वापरतात; ते प्रक्रियेपासून वेगळे आहे.

अवैध JSON तपासायचे आहे? JSON फॉरमॅट / Diff उघडा आणि मजकूर पेस्ट करा.

FAQ

माझे JSON Unexpected token का म्हणते?

पार्सर त्या ठिकाणी अनधिकृत अक्षर भेटला. खरी चूक—बरेचदा गहाळ स्वल्पविराम किंवा एकेरी अवतरण—त्या ठिकाणाच्या अगदी आधी असू शकते.

JSON मध्ये शेवटचा स्वल्पविराम परवानगी आहे का?

नाही. मानक JSON शेवटच्या गुणधर्म किंवा अ‍ॅरे घटकांतर स्वल्पविराम परवानगी देत नाही. JavaScript ऑब्जेक्ट लिटरल अनेकदा देतात.

JSON एकेरी अवतरण वापरू शकते का?

नाही. गुणधर्म नावे आणि स्ट्रिंग दुहेरी अवतरण वापरावीत.

JSON मध्ये टिप्पण्या असू शकतात का?

मानक JSON मध्ये नाही. काही साधने टिप्पणी असलेले JSONC किंवा JSON5 स्वीकारतात; JSON.parse तरीही नाकारेल.

JSON.parse() का अपयशी होते?

स्ट्रिंग वैध JSON नाही. सामान्य कारणे शेवटचा स्वल्पविराम, एकेरी अवतरण, अवतरण नसलेल्या कळा, टिप्पण्या किंवा कापलेले मूल्य. अचूक संदेश रनटाइमवर अवलंबून आहे.

JSON वैध आहे का कसे तपासायचे?

JSON फॉरमॅट / Diff सारख्या वैधकर्त्यात पेस्ट करा, किंवा कन्सोलमध्ये JSON.parse बोलावा. पार्स फेकले तर मजकूर वैध JSON नाही.