2010-04-26 41 views
5

में कनवर्ट करें मैं एक छिपे हुए HTML इनपुट फ़ील्ड से ऑब्जेक्ट्स की एक सरणी पुनर्प्राप्त कर रहा हूं। स्ट्रिंग मैं हो रही है:जावास्क्रिप्ट स्ट्रिंग को एक सरणी

"{"id":"1234","name":"john smith","email":"[email protected]"},{"id":"4431","name":"marry doe","email":"[email protected]"}" 

अब मैं इस ऑब्जेक्ट की श्रृंखला के रूप में फिर से पारित करने के लिए की जरूरत है। मैं इस स्ट्रिंग को ऑब्जेक्ट्स की सरणी में कैसे परिवर्तित करूं?

+0

क्या यह '[]' में लपेटा गया है? – SLaks

उत्तर

12
var array_of_objects = eval("[" + my_string + "]"); 

इस कोड के रूप में स्ट्रिंग है, जिसके कारण हम [] यह एक वस्तु बनाने के लिए जोड़ने की जरूरत है निष्पादित करता है। यह eval के लिए सबसे तेज़ और आसान तरीका के रूप में कुछ वैध उपयोगों में से एक है। : डी

+0

एफवाईआई, यदि आप JSON पार्सर लाइब्रेरी का उपयोग कर रहे हैं तो आप JSON.parse विधि का भी उपयोग कर सकते हैं। धन्यवाद स्लैक्स http://stackoverflow.com/questions/2710556/convert-javascript-string-to-an-array/2710558#2710558 –

6

मानते हैं कि str मान्य JSON वाक्यविन्यास रखता है, तो आप बस eval(str) पर कॉल कर सकते हैं।

सुरक्षा कारणों से, वह इस तरह का JSON parser उपयोग करने के लिए, बेहतर है:

JSON.parse(str); 

ध्यान दें कि str एक मान्य JSON सरणी होने के लिए [] में लिपटे किया जाना चाहिए।

0
var str=eval([{'id':'1','txt':'name1'},{'id':'2','txt':'name2'},{'id':'3','txt':'name3'}]) 
for(var i=0;i<str.length;i++) 
{ 
alert(str[i].txt); 
} 
संबंधित मुद्दे