字符串转化json对象的三种⽅法
将字符串转化成json对象的⽅法:
1. let json = JSON.parse(str);
2. let json = (new Function(“return ” + str))();
3. let json = eval(“(” + str + “)”);
通过console.log()将json打印到控制台,不管是使⽤以上3种哪⼀种⽅法,都能在chrome控制台看到成功转化的结果。
⼀、对于JSON.parse()。使⽤JSON.parse() 转化字符串到 json对象需要注意⼏个坑点!
json转换对象如:let test_a = '{"L1":{"L2":{"L3":"leafs"}}}';
字符串对象中⽆论是key还是value,都需要⽤双引号括起来。记住是双引号,不是单引号,更不是⽆引号。单引号和⽆引号,都会引起转化不成功⽽报错! 整个字符串是单引号套双引号的⽅式。
当然,如果你使⽤new Function()或者eval()的⽅式来转化就不需要在意上述坑点。
三、
eval() 函数可将字符串转换为代码执⾏,并返回⼀个或多个值
eval调⽤时,实例为eval( “( javascript代码 )” )
var str = “function(){alert(‘a’);}“;
str = eval(“(“+str+”)”);
str();
eval()的返回值
eval()的返回值遵循以下规则:
1.如果eval()的参数不是字符串,那么eval()将直接返回参数。
2.如果eval()的参数是字符串,那么eval()将这个字符串解析成代码后进⾏执⾏,并返回最后⼀⾏代码执⾏的结果。
3.如果字符串⽆法解析成合法的代码,eval()将抛出SyntaxError错误。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论