
正文
使用原生JS进行字符串转对象
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
字符串转对象
目的
-
工作中如果需要原生 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 不显示
-
使用 eval() 和 (function(){})() 方法
var forth = eval('(function(){return '+ str +';})()');
使用 eval() 方法, 将函数自调用, 得到
对象
- 工作中如果需要原生 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 不显示
-
使用 eval() 和 (function(){})() 方法
var forth = eval('(function(){return '+ str +';})()');
使用 eval() 方法, 将函数自调用, 得到
对象
// 得到 对象 格式或 json 格式的一个字符串
var str = '{"name":"张根硕","age":"18"}';
var first = JSON.parse(str);
ES5 中新添加的方法,将 json 格式 字符串 转换为 对象
var second = (new Function('return '+ str +';'))();
var second = new Function('return '+ str +';')();
使用 函数的构造函数 方法(传参只能传 字符串 ), 自调用(或者执行), 得到 对象
var third = eval('('+ str +')');
使用eval()方法, 传入
字符串
需要给字符串添加 "()" 进行包裹
如果不使用 '()' 进行包裹,浏览器会将 ':' 解析成代码块,最终会得到 ':' 后的结果**
如
'{"name" : "张全蛋"}'
最后会的到 '张全蛋' , 而 name 不显示
var forth = eval('(function(){return '+ str +';})()');
使用 eval() 方法, 将函数自调用, 得到 对象







