在JavaScript中,可以使用JSON.parse()方法将字符串类型的数据转换成JSON对象。JSON.parse()方法的语法如下:
JSON.parse(text[, reviver])
其中,text参数是要转换的字符串,reviver参数是可选的,用于指定转换后的属性值的函数。
下面是一个示例,将一个字符串转换成JSON对象:
var str = '{"name": "John", "age": 30, "city": "New York"}'; var obj = JSON.parse(str); console.log(obj);
上面的代码将字符串str转换成了JSON对象obj,obj的属性值与str中的值相同。
如果要转换的字符串中包含函数,可以使用reviver参数指定转换后的属性值的函数,如下所示:
var str = '{"name": "John", "age": 30, "sayHello": function(){console.log("Hello!");}}'; var obj = JSON.parse(str, function(key, value) { if (typeof value === 'function') { return eval('(' + value + ')'); } return value; }); obj.sayHello(); // Hello!
上面的代码将字符串str转换成了JSON对象obj,obj中的sayHello属性是一个函数,可以正常调用。
也可以使用eval()函数将字符串转换成JSON对象,如下所示:
var str = '{"name": "John", "age": 30}'; var obj = eval("(" + str + ")"); console.log(obj);
上面的代码将字符串str转换成了JSON对象obj,obj的属性值与str中的值相同。
JSON.parse()方法可以将字符串类型的数据转换成JSON对象,也可以使用eval()函数将字符串转换成JSON对象。