JSON.stringify()、eval(),JSON.parse()各自的区别于作用

JSON.stringify(value [, replacer] [, space])

大于 10,则文本缩进 10 个空格。

如果space是一个非空字符串(例如“\t”),则返回值文本在每个级别中缩进字符串中的字符。

如果space是长度大于 10 个字符的字符串,则使用前 10 个字符。

返回一个包含 JSON 文本的字符串。

JSON.stringify()、eval()都是用来解析字符串并将字符串转换为json数据

var evalJson=eval(‘(‘+jsonData+’)’);

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行

如上例中,由于用eval解析一个json字符串而造成原先的value的值改变这是极其不安全的,

很容易被恶意的用户在json字符串注入木马链接。

所以推荐使用JSON.parse()来解析字符串。

该方法不仅可以捕捉JSON中的语法错误,并且允许你传入一个函数,,用来过滤或转换解析结果

我想有一天和你去旅行。去那没有去过的地方,

JSON.stringify()、eval(),JSON.parse()各自的区别于作用

相关文章:

你感兴趣的文章:

标签云: