我從隱藏的html輸入字段中檢索對象數組。我得到的字符串是:將javascript字符串轉換爲數組
"{"id":"1234","name":"john smith","email":"[email protected]"},{"id":"4431","name":"marry doe","email":"[email protected]"}"
現在我需要將它作爲一個對象數組再次傳遞。如何將此字符串轉換爲對象數組?
我從隱藏的html輸入字段中檢索對象數組。我得到的字符串是:將javascript字符串轉換爲數組
"{"id":"1234","name":"john smith","email":"[email protected]"},{"id":"4431","name":"marry doe","email":"[email protected]"}"
現在我需要將它作爲一個對象數組再次傳遞。如何將此字符串轉換爲對象數組?
var array_of_objects = eval("[" + my_string + "]");
這將執行字符串作爲代碼,這就是爲什麼我們需要添加[]使其成爲一個對象。這也是eval作爲最快,最簡單的方法的少數合法用途之一。 :D
僅供參考,如果您使用JSON解析器庫,也可以使用JSON.parse方法。謝謝SLaks http://stackoverflow.com/questions/2710556/convert-javascript-string-to-an-array/2710558#2710558 – 2010-04-26 00:58:46
假設str
保存有效的JSON語法,您可以簡單地調用eval(str)
。
爲了安全起見,最好使用JSON parser,像這樣:
JSON.parse(str);
注意str
必須[]
包裹是一個有效的JSON陣列。
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);
}
是否用'[]'包裹? – SLaks 2010-04-26 00:42:40