【转】使用原生JS进行字符串转对象
原文地址:https://www.cnblogs.com/liu666/p/5747639.html
字符串转对象
工作中如果需要原生 JS 完成字符转对象的话可以通过 JSON.parse(str), 但是这个方法是ES5中才出现, 如果需要兼容低版本就需要其它方法。使用原生 JS 解决字符串转对象, 让我们更加容易处理
实现方法
// 得到 对象 格式或 json 格式的一个字符串
var str = '{"name":"张根硕","age":"18"}';
一:使用 ES5 中的方法 JSON.parse()
var first = JSON.parse(str);
ES5 中新添加的方法,将 json 格式字符串转换为对象
二:使用 new Function 方法
var second = (new Function('return '+ str +';'))(); var second = new Function('return '+ str +';')();
使用函数的构造函数方法(传参只能传字符串), 自调用(或者执行), 得到对象
三:使用 eval() 方法
var third = eval('('+ str +')');
使用eval()方法, 传入字符串需要给字符串添加 "()" 进行包裹
如果不使用 '()' 进行包裹,浏览器会将 ':' 解析成代码块,最终会得到 ':' 后的结果**
如 '{"name" : "张全蛋"}' 最后会的到 '张全蛋' , 而 name 不显示

浙公网安备 33010602011771号