2011-11-04 15 views
27

डाटा होता है (/ " /):JSON.parse: उम्मीद संपत्ति का नाम या '}'

{"test":"101","mr":"103","bishop":"102"} 

स्क्रिप्ट:

console.log($.parseJSON(result)); 

मैं त्रुटि मिल रही है,

JSON.parse: expected property name or '}'. 
+0

त्रुटि संदेश के आधार पर, हो सकता है आप वहाँ में एक गैर उद्धृत apostrophe है ? बैकस्लैश का उपयोग करके उनसे बच जाना चाहिए, या यूनिकोड एस्केप (\ u0027) – StaxMan

+0

खेद है कि एक प्रकार है, वहां मेरे पास केवल " – realnumber

+4

पोस्ट के रूप में आपका JSON साफ़ है। यदि यह अलग है तो वास्तविक JSON स्ट्रिंग को प्रतिबिंबित करने के लिए कृपया संपादित करें। –

उत्तर

17

यदि आप एन्कोडेड " के साथ JSON प्राप्त कर रहे हैं, तो आपको " के प्रत्येक उदाहरण को एक वास्तविकके साथ प्रतिस्थापित करना होगा JSON.parse करने से पहले। कुछ की तरह:

myJSONstring.replace(/"/ig,'"'); 
+1

+1 ने मेरे लिए काम किया था। क्या आपको " आने का कारण पता है? क्या यह ब्राउज़र इन पापों को डाल रहा है सीई mimetype सर्वर पक्ष से जावास्क्रिप्ट या जेसन नहीं है? – Sid

+0

@Sid, इस पर निर्भर करता है कि आप JSON कहां और कैसे प्राप्त कर रहे हैं। यह संभव है कि किसी ने JSON स्ट्रिंग को एन्कोड करने के लिए सर्वर पर प्रोग्रामिंग को गलत तरीके से कोड किया हो। –

51

था एक ही मुद्दा जब JSON फ़ाइल में एकल उद्धरण का इस्तेमाल किया, सभी स्ट्रिंग गुण/मूल्यों के लिए दोहरे उद्धरण चिह्नों के लिए बदल गया है और यह ठीक काम कर रहा है अब, आशा है कि यह किसी को भी मदद करता है ....

बदलें :

JSON.parse("{'wrongQuotes': 5}") 

करने के लिए:

JSON.parse('{"rightQuotes": 5}') 
+4

ऐसी बेवकूफ बात! आप सही हे। यह एक काम नहीं किया: JSON.parse ("{ 'मिसाल': 2}") लेकिन यह एक किया: JSON.parse ('{ "मिसाल": 2}') –

+0

हेहे, खुश यह मदद करता है। – alchemication

+0

धन्यवाद कड़, गूंज "{'सफलता': झूठी}"; काम नहीं किया, echo '{"सफलता": झूठी}'; किया। :) – Andrew

संबंधित मुद्दे