采用Ajax的项目开发过程中,经常需要将JSON格式的字符串返回到前端,前端解析成JS对象(JSON方法。

1,eval方式解析,恐怕这是最早的解析方式了。

1 function strToJson(str){
2      var json = eval('(' + str + ')');
3      return <span class="searchterm1">json</span>;
4 }

2,new Function形式,比较怪异哦。

1 function strToJson(str){
2     var json = (new Function(&quot;return &quot; + str))();
3     return <span class="searchterm1">json</span>;
4 }

3,使用全局的JSON对象。

1 function strToJson(str){
2     return <span class="searchterm1">JSON</span>.parse(str);
3 }

目前IE8(S)/Firefox3.5+/Chrome4/Safari4/Opera10 已实现了该方法。

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

1 var str = '{name:&quot;jack&quot;}';
2 var obj = <span class="searchterm1">JSON</span>.parse(str); // --&gt; parse error

name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。

相关文章:

  • 2022-12-23
  • 2021-11-21
  • 2021-06-04
  • 2021-12-20
  • 2021-12-06
猜你喜欢
  • 2022-02-07
  • 2021-08-02
  • 2022-12-23
相关资源
相似解决方案