字符串转换成json对象的方式

前言

使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON )。

欲将以下字符串转为json对象格式:

var str = {name:"jack"};

1.eval方式解析

恐怕这是最早的解析方式了

var str = {"name":"jack"};
var json = eval(( + str + ));
console.log(json)

记得别忘了str两旁的小括号

2.new Function 形式,比较怪异

var str = {"name":"jack"};
var json = (new Function("return " + str))();
console.log(json)

3.JSON.parse() 方法

var str = {"name":"jack"};
var json = JSON.parse(str);
console.log(json)

使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下

var str = {name:"jack"};
var obj = JSON.parse(str); // --> parse error

以上三种方法的输出结果如下:


JSON.parse()的补充

JSON 通常用于与服务端交换数据。 在接收服务器数据时一般是字符串。 我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。

语法

JSON.parse(text[, reviver])

参数说明:

    text: 必需, 一个有效的 JSON 字符串。 reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
经验分享 程序员 微信小程序 职场和发展