我正在从隐藏的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);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top