字符串转化为对象的方法

方法一
JSON.parse()

let str = '{"name":"zs","age":18}'
JSON.parse(str) //{name: "zs", age: 18}

方法二
eval()

let str = '({"name":"zs","age":18})'
//注意这字符串里面必须加上小括号否则报错,eval会执行'()'内部的代码
console.log(eval(str))

方法三
Function(str)()

//注意这里不需要加小括号
let str = '{name:"zs",age:18}'
console.log( new Function('return' + str)() )

总结
JSON.parse()
只能转化标准的JSON字符串(键必须是字符串,字符串必须使用双引号括起来)
eval(str)
将字符串转化为js语句,并执行
如果不希望转化后是js语句,可使用括号将字符串包裹起来
Function(str)()
只能转化对象字符串
非必要别用eval ,尽量使用Function代替
转化标准json字符串使用JSON.parse(),否则用function

猜你喜欢

转载自blog.csdn.net/weixin_44162077/article/details/130015373