मैं एक स्ट्रिंग को कैसे परिवर्तित कर सकता हूं जो जावास्क्रिप्ट (या jQuery) का उपयोग करके एक JSON स्ट्रिंग में एक वस्तु का वर्णन करता है?
उदाहरण के लिए: कन्वर्ट यह ( नहीं एक मान्य JSON स्ट्रिंग):
var str = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }"
इस मामले में:
str = '{ "hello": "world", "places": ["Africa", "America", "Asia", "Australia"] }'
मैं eval()
अगर संभव हो तो उपयोग करने से बचना पसंद करूंगा ।
data
इस तरह से -attrubute में संग्रहित किया जाता है : <div data-object="{hello:'world'}"></div>
और मैं HTML में एकल उद्धरणों का उपयोग नहीं करना चाहता हूं (इसलिए शायद इस पर भरोसा नहीं किया जाए)
<div data-object='{"hello":"world"}'></div>
100% वैध HTML है (सिंगल कोट्स को इस पर भरोसा करने या न करने से क्या लेना देना है?)। यदि आप इसे इस तरह करते हैं, तो आप JSON.parse
इसे कर सकते हैं और यह ठीक काम करेगा। नोट: कुंजियों को भी उद्धृत किया जाना चाहिए।
<div data-object="{\"hello\":\"world\"}"></div>
। यदि आप विशेषता में JSON का उपयोग नहीं करना चाहते हैं, तो आपको अपना प्रारूप बनाना होगा और इसे स्वयं पार्स करना होगा।