给定一个JSON数据字符串,如何安全地将该字符串转换为JavaScript对象?
很明显,我可以用这样的方式来做这件事:
var obj = eval("(" + json + ')');
但这让我很容易受到包含其他代码的JSON字符串的攻击,简单地eval似乎非常危险。
给定一个JSON数据字符串,如何安全地将该字符串转换为JavaScript对象?
很明显,我可以用这样的方式来做这件事:
var obj = eval("(" + json + ')');
但这让我很容易受到包含其他代码的JSON字符串的攻击,简单地eval似乎非常危险。
当前回答
将对象转换为JSON,然后解析它,对我来说很有用,比如:
JSON.parse(JSON.stringify(object))
其他回答
使用JSON.Parse()解析JSON字符串,数据将成为JavaScript对象:
JSON.parse(jsonString)
这里,JSON表示处理JSON数据集。
想象一下,我们从web服务器收到了以下文本:
'{ "name":"John", "age":30, "city":"New York"}'
要解析为JSON对象,请执行以下操作:
var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}');
这里obj是相应的JSON对象,看起来像:
{ "name":"John", "age":30, "city":"New York"}
要获取值,请使用。操作员:
obj.name // John
obj.age //30
使用JSON.stringify()将JavaScript对象转换为字符串。
另一种选择
const json=“{”水果“:”菠萝“,”手指“:10}”让j0s,j1s,j2s,j3sconsole.log(`{“${j0s=“fruit”}”:“${j1s=“菠萝”}”,“${j2s=“fingers”}”:${j3s=“10”}}`)
将对象转换为JSON,然后解析它,对我来说很有用,比如:
JSON.parse(JSON.stringify(object))
为了好玩,这里有一种使用函数的方法:
jsonObject = (new Function('return ' + jsonFormatData))()
使用“JSON.parse()”中的简单代码示例:
var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';
var contact = JSON.parse(jsontext);
并将其反转:
var str = JSON.stringify(arr);