js中将字符串转换成json的三种方式

1,eval方式解析

恐怕这是最早的解析方式
function strToJson(str){ var json = eval('(' + str + ')'); return json; }

2,new Function形式

比较怪异
function strToJson(str){ var json = (new Function("return " + str))(); return json; }

3,使用全局的JSON对象

function strToJson(str){ return JSON.parse(str); }
使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下
var str = '{name:"jack"}'; var obj = JSON.parse(str); // --> parse error
name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。
注意:单引号里包裹双引号,正确格式如下
var str = '{"name":"jack"}'; 

 


posted @ 2021-04-13 13:27  小那  阅读(735)  评论(0编辑  收藏  举报