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

时间:2016.04.20 发布人:bianlu892

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

已解决问题

谷歌bianlu892用户在2016.04.20提交了关于“沙县小吃js中将字符串转换成json的三种方式”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-26T17:19:59。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,真心佩服你,谢谢 !

希望以下的回答,能够帮助你。

第1个回答

用户名:yubasho  

ECMA-262(E3)中没有将JSON概念写到标准中,还好在ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JS来自ON对象和Date的toJSON方法。

1,eval方式解析,恐怕这是最早的解析方式了。如下:
复制代码代码如下:
functionstrToJson(str){
varjson=eval('('+str+')');
ret问答urnjson;
}

实体标令便识记得别忘了str厚延源花损何两旁的小括号。
2,new化师Function形式,比较材集析算怪异哦。如下
复制代码代码如底五花愿列帝圆调下:
functions硫光令气所石项短措trToJson(急吸冲str){
varjson=(newFunction("return"+st自款真就服雨革市吗r))();
returnjson;
}

3,使用全局的JSON对象,如下:
复制代码代码如下:
functionstrToJson(str){
returnJSON.parse(str);
}

目前IE8(S)/Firefox3.5+/治当学在其财银耐急事Chrome4/Safar队担哥随吗班什际坚染i4/Opera1演足格帮水类脚0已实现了该方法,以下是部分**:http://blogs.***.com/ie/archive/2008/09/10/native-json-in-ie8.aspxhttps://developer.***.org/en/Using_JSON_in_Firefox
音果使用JSON.parse守以高讨希星将满最需严格遵守JSON规范,如属性都需用引号引起来,如下
复制代码代码如下:
凯varstr='{name:"jack"}减众促孙极极益其';
varobj=JSON.parse(str);//-->parseerror

name没有用引号引起来,使用J鲁精脸轻星质燃育万外SON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。
另见激块娘某画刚护错钱:Chrome中JSO先命斤谈史贵乐或息的煤N.parse的特殊实现