2011-10-12 23 views
8

संभव डुप्लिकेट इस जावास्क्रिप्ट स्ट्रिंग परिवर्तित करने के लिए:कैसे जावास्क्रिप्ट सरणी/वस्तु में

[{text: 'First Option', value: 'first'},{text: 'Second Option', value: 'second'},{text: 'Third Option', value: 'third'}] 

मैं इसे कैसे में तब्दील करते हैं:
How to parse JSON easily?

मैं इस स्ट्रिंग है जावास्क्रिप्ट में एक ही रूप में एक सरणी/वस्तु?

उत्तर

24

भी उपयोग var data = JSON.parse(yourString); या var data = eval('(' + yourString+ ')');

1

उपयोग JSON.parse

var obj = JSON.parse(str); 
+2

अमान्य JSON, कि स्ट्रिंग पार्स नहीं होंगे – Joe

+1

JSON एक वस्तु है, लेकिन वस्तु इस तरह से जाना चाहता था पथ नहीं है JSON..therefore जरूरी नहीं है किया जा सका। – vsync

9

इस बार में से एक है कि eval वास्तव में उपयोगी में आता है:

var x = eval(yourString); 

लेकिन यह निश्चित रूप से JSON.parse उपयोग करने के लिए के रूप में अन्य उत्तर ने सुझाव दिया सुरक्षित है।

eval संस्करण का working example यहां है।

+2

ई, eval ...; - \ –

+4

इस तरह की स्ट्रिंग को ठीक से निकालने के लिए, आपको वास्तव में इसे कोष्ठक में लपेटने की आवश्यकता होगी, उदा। 'var x = eval ('(' + yourString + ')'), अन्यथा आपको 'सिंटेक्स त्रुटि' मिलेगा। –

+0

@BradChristie - हाँ, मैं सहमत हूं! लेकिन अगर jQuery का उपयोग नहीं किया जा सकता है, और आपको पुराने ब्राउज़र का समर्थन करने की आवश्यकता है ... –

0

बस एक चर को ठीक उसी स्ट्रिंग पर सेट करें।

var new_object = [{text: 'First Option', value: 'first'},{text: 'Second Option', value: 'second'},{text: 'Third Option', value: 'third'}] 
+2

कुछ मुझे बताता है कि यह "जावास्क्रिप्ट में इसे कॉपी/पेस्ट कैसे करें और एक वस्तु प्राप्त करें" (हालांकि मैं गलत हो सकता हूं) का कोई फर्क नहीं पड़ता। –

0

यदि आप jQuery को जेव करते हैं, तो आप jQuery.parseJSON का उपयोग कर सकते हैं। यदि आप नहीं करते हैं तो आप फ़ंक्शन को source code से खींच सकते हैं और इसे अपने पृष्ठ पर रख सकते हैं और वही फायदे हैं।

+0

यह 'JSON.parse()' जैसा ही है ... – vsync

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