将JavaScript字符串转换为数组
-
01-10-2019 - |
题
我正在从隐藏的HTML输入字段中检索一系列对象。我得到的字符串是:
"{"id":"1234","name":"john smith","email":"jsmith@blah.com"},{"id":"4431","name":"marry doe","email":"mdoe@blah.com"}"
现在,我需要再次将其作为一系列对象传递。如何将此字符串转换为对象数组?
解决方案
var array_of_objects = eval("[" + my_string + "]");
这将执行字符串为代码,这就是为什么我们需要添加[]使其成为对象的原因。这也是评估的少数合法用途之一,它是其最快,最简单的方法。 :d
其他提示
假如说 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);
}
不隶属于 StackOverflow