मुझे किसी तीसरे पक्ष से एक बीमार गठित JSON स्ट्रिंग भेजा जा रहा है। मैंने जावास्क्रिप्ट ऑब्जेक्ट में इसे पार्स करने के लिए JSON.parse(str)
का उपयोग करने का प्रयास किया लेकिन यह निश्चित रूप से विफल रहा।पार्स बीमार गठित JSON स्ट्रिंग
कारण किया जा रहा है कि कुंजी तार नहीं हैं:
{min: 100}
के रूप में मान्य JSON स्ट्रिंग (जो ठीक से पार्स) करने का विरोध किया:
{"min": 100}
मैं बीमार का गठन स्ट्रिंग स्वीकार करने की जरूरत अभी के लिए। मुझे लगता है कि सही ढंग से उद्धरण कुंजी भूलना भूलना एक आम गलती है। क्या इसे वैध JSON स्ट्रिंग में बदलने का कोई अच्छा तरीका है ताकि मैं इसे पार्स कर सकूं? अभी के लिए मुझे चरित्र द्वारा चरित्र को पार्स करना होगा और ऑब्जेक्ट को आज़माकर बनाना होगा, जो भयानक लगता है।
विचार?
ऐसा लगता है कि यहां कुछ समाधान हैं: http://stackoverflow.com/questions/4210160/safely-parsing-a-json-string-with-unquoted-keys?rq=1 – showdev
मुझे लगता है कि एक फ़ंक्शन कन्स्ट्रक्टर का उपयोग करना इस मामले में काम करना चाहिए: 'var data = new function ('return' + illFormedJSON;)()' – m90
'(?: [az] +): + 'मैं सभी गैर उचित कुंजी के लिए खोज कहूंगा। यह शुरू करने के लिए आपको एक जगह देने के लिए एक पूर्ण regex नहीं है। प्रश्न का पूरी तरह उत्तर देने के लिए समय नहीं है। – travis