Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于解析JSON字符串的JavaScript新函数_Javascript_Json_Parsing_Function_New Operator - Fatal编程技术网

用于解析JSON字符串的JavaScript新函数

用于解析JSON字符串的JavaScript新函数,javascript,json,parsing,function,new-operator,Javascript,Json,Parsing,Function,New Operator,我正在创建一个脚本,用于解析JSON设置字符串的锚定标记的“rel”属性。我目前正在使用类似下面的代码将字符串转换为JavaScript对象: var settings = new Function("return " + relAttribute); 这是解析JSON字符串的好方法吗?我建议您使用JSON.parse方法。例如: var settings = JSON.parse('{ "key1": "value1", "key2": "value2" }'); alert(setting

我正在创建一个脚本,用于解析JSON设置字符串的锚定标记的“rel”属性。我目前正在使用类似下面的代码将字符串转换为JavaScript对象:

var settings = new Function("return " + relAttribute);
这是解析JSON字符串的好方法吗?

我建议您使用
JSON.parse方法。例如:

var settings = JSON.parse('{ "key1": "value1", "key2": "value2" }');
alert(settings.key2);
我建议您使用
JSON.parse
方法。例如:

var settings = JSON.parse('{ "key1": "value1", "key2": "value2" }');
alert(settings.key2);

首先,var设置将是一个函数,而不是对象。你必须对此进行评估

其次,这很好,但是恶意代码仍然可能通过挂接全局范围(例如
window
)而脱离您的功能


然后,换行将出现问题。

首先,var设置将是一个函数,而不是对象。你必须对此进行评估

其次,这很好,但是恶意代码仍然可能通过挂接全局范围(例如
window
)而脱离您的功能

然后,您将遇到断线问题。

不,不是;)这很像使用
eval
。不,不是;)这很像使用
eval