यह दोषपूर्ण JSON को प्रबंधित या सही करने के तरीके के बारे में नहीं है, यह उस उपयोगकर्ता को समझाने के तरीके के बारे में है जहां त्रुटि दोषपूर्ण JSON में है।दोषपूर्ण JSON पार्सिंग और त्रुटि प्रदर्शित करने में सक्षम होने के लिए
क्या JSON में कौन सी स्थिति पार्सर विफल हुई है, यह जानने का कोई तरीका है।
मैं इस समस्या को node.js एप्लिकेशन में हल करना चाहता हूं, इसलिए यदि संभव हो तो कृपया अपने उत्तर उस डोमेन में रखें।
जब मैं एक दोषपूर्ण JSON के लिए JSON ऑब्जेक्ट और पार्स विधि में बनाया का उपयोग मैं केवल अपवाद संदेश SyntaxError: Unexpected string
मिलता है। मैं यह जानना चाहता हूं कि त्रुटि कहां हुई।
पसंदीदा JSON.validate(json)
होगा जो परिणाम ठीक/त्रुटि और त्रुटि स्थिति लौटा दिया। कुछ इस तरह:
var faultyJsonToParse = '{"string":"value", "boolean": true"}';
var result = JSON.validate(faultyJsonToParse);
if (result.ok == true) {
console.log('Good JSON, well done!');
} else {
console.log('The validator found a \'' + result.error + '\' of type \'' + result.errorType + '\' in your JSON near position ' + result.position);
}
के वांछित परिणाम ऊपर होगा:
The validator found a 'SyntaxError' of type 'Unexpected string' in your JSON near position 35.
आप एक minified JSON स्ट्रिंग में एक सूचकांक जहां त्रुटि हुई उम्मीद कर रहे हैं मुझे लगता है कि रिटर्न clarinet's parser का उपयोग कर एक छोटे उपयोगिता का निर्माण किया है? – Aesthete
हां, ऐसा कुछ। मुझे लगता है कि एक बड़े JSON में समस्या का एक मार्ग भी हो सकता है। – javabeangrinder
ये .. शायद इस के माध्यम से पढ़ा है .. https://bugzilla.mozilla.org/show_bug.cgi?id=507998 यह शायद आपके प्रश्न का उत्तर नहीं देता है, लेकिन यह कुछ अंतर्दृष्टि दे सकता है कि यह कार्यक्षमता क्यों नहीं है मूल रूप से मौजूद है। – Aesthete