原生js将json字符串解析为对象

JavaScript 2016-11-09

最近遇到的一个问题,就是原生js在发送ajax后服务器端返回的是json字符串,需要js这边解析为对象,之前用的方法是eval()函数,但是在项目中遇到了问题,导致不能使用。下面介绍几种将json字符串转化为对象的方法。
方法1:var data = eval(‘(‘+json+’)’);
方法2:var data = (new Function(”, ‘return ‘+json))();
方法3:var data = JSON.parse(json);
上面三种方法均可以将服务器返回的json字符串转换为js可以解析的对象。我建议使用方法3或方法2。

另外说明下,如果使用的是jQuery发送ajax只需要将type设置为json即可,返回的数据默认已转化为对象。另外jQuery的$.parseJSON(json)方法可以将json字符串转化为对象

楼主残忍的关闭了