Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法

 更新时间:2010年03月27日 00:24:50   作者:  
我们知道Invalid JSON错误导致的json对象不能解析,一般都是服务器返回的json字符串的语法有错误。这种情况下,我们只需要仔细的检查一下json就可以解决问题。
下面说一下,最近在使用jquery 1.4中使用$.ajax()方法解析json对象遇到的问题。

Json对象是:
复制代码 代码如下:

[{name:'二手房出售',infoCount:0,pageUrl:'/ershoufang'},{name:'二手房求购',infoCount:0,pageUrl:'/qiugou'},{name:'二手房装修',infoCount:0,pageUrl:'/esfzhuangxiu'},{name:'二手回收',infoCount:0,pageUrl:'/huishou'},{name:'二手摩托车',infoCount:0,pageUrl:'/motor'},{name:'二手汽车求购',infoCount:0,pageUrl:'/ershoucheqg'},{name:'二手汽车转让',infoCount:9,pageUrl:'/ershouche'},{name:'二手市场',infoCount:0,pageUrl:'/ershoushichang'}]


不知道大家有没有发现这段json对象的问题。这样的写法在js脚本和jquery 1.4之前的版本都是没有问题的。因为在1.3及更早版本中,jQuery通过javascript的eval方法来解析json对象。在1.4中,jQuery使用了更严格的方法来解析json。所有的内容都必须使用双引号。

这点从jQuery.parseJSON(json) 可以看出,parseJSON在文档中的解释是:

接受一个JSON字符串,返回解析后的对象。

传入一个畸形的JSON字符串会抛出一个异常。比如下面的都是畸形的JSON字符串:
{test: 1} ( test 没有包围双引号)
{'test': 1} (使用了单引号而不是双引号)

另外,如果你什么都不传入,或者一个空字符串、null或undefined,parseJSON都会返回 null 。

相关文章

  • jQuery中extend函数简单用法示例

    jQuery中extend函数简单用法示例

    这篇文章主要介绍了jQuery中extend函数简单用法,结合实例形式简单分析了jQuery使用extend函数扩展对象属性的相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • jQuery库与其他JS库冲突的解决办法

    jQuery库与其他JS库冲突的解决办法

    jQuery库与其他JS库冲突的解决办法
    2010-02-02
  • jQuery Mobile和HTML5开发App推广注册页

    jQuery Mobile和HTML5开发App推广注册页

    jQuery Mobile和HTML5的组合可以直接开发web版的app,下面通过本教程给大家分享jQuery Mobile和HTML5开发App推广注册页的实例代码,感兴趣的朋友参考下吧
    2016-11-11
  • JQuery节点元素属性操作方法

    JQuery节点元素属性操作方法

    这篇文章主要介绍了JQuery节点元素属性操作方法,实例分析了attr与removeAttr方法操作节点元素属性的相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • 优化Jquery,提升网页加载速度

    优化Jquery,提升网页加载速度

    本文是对优化Jquery,提升网页加载速度方面进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • jquery 追加tr和删除tr示例代码

    jquery 追加tr和删除tr示例代码

    追加tr和删除tr在使用中还是比较广泛,下面为大家介绍下jquery中时如何实现的,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-09-09
  • jquery实现的3D旋转木马特效代码分享

    jquery实现的3D旋转木马特效代码分享

    这篇文章主要介绍了jquery实现的3D旋转木马特效,功能实现非常简单,推荐给大家,有需要的小伙伴可以参考下。
    2015-08-08
  • jQuery定义插件的方法

    jQuery定义插件的方法

    有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#"),$("."),写了几年就对别人说非常熟悉JQuery。其实你只是了解一点皮毛,并不知道其中的道理,下面通过本篇文章给大家介绍jquery定义插件的相关知识,感兴趣的朋友一起学习吧
    2015-12-12
  • jQuery图片查看插件Magnify开发详解

    jQuery图片查看插件Magnify开发详解

    本篇文章主要给大家讲述了jQuery图片查看插件Magnify开发的详细分析,需要的朋友参考学习下吧。
    2017-12-12
  • 几种二级联动案例(jQuery\Array\Ajax php)

    几种二级联动案例(jQuery\Array\Ajax php)

    这篇文章主要为大家详细介绍了几种二级联动案例(jQuery\Array\Ajax php),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论