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


Posted in Javascript onMarch 27, 2010

下面说一下,最近在使用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 。

Javascript 相关文章推荐
JavaScript中的一些定位属性[图解]
Jul 14 Javascript
jQuery的:parent选择器定义和用法
Jul 01 Javascript
JS中JSON对象和String之间的互转及处理技巧
Apr 06 Javascript
js倒计时简单实现代码
Aug 11 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
Sep 01 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
Jul 15 Javascript
Vue实现用户自定义字段显示数据的方法
Aug 28 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
Jan 27 Javascript
怎么使用javascript深度拷贝一个数组
Jun 06 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 Javascript
让mocha支持ES6模块的方法实现
Jan 14 Javascript
javascript sudoku 数独智力游戏生成代码
Mar 27 #Javascript
Javascript 函数中的参数使用分析
Mar 27 #Javascript
js几个验证函数代码
Mar 25 #Javascript
Firefox下提示illegal character并出现乱码的原因
Mar 25 #Javascript
JavaScript setTimeout和setInterval的使用方法 说明
Mar 25 #Javascript
JavaScript 学习初步 入门教程
Mar 25 #Javascript
ext 列表页面关于多行查询的办法
Mar 25 #Javascript
You might like
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP编写RESTful接口
2016/02/23 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
python基础教程项目四之新闻聚合
2018/04/02 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Django框架反向解析操作详解
2019/11/28 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
护士思想汇报
2014/01/12 职场文书
《日月潭》教学反思
2014/02/28 职场文书
公司晚会主持词
2014/03/22 职场文书
国企干部对照检查材料
2014/08/22 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
小学大队委竞选口号
2015/12/25 职场文书
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Python必备技巧之函数的使用详解
2022/04/04 Python
React自定义hook的方法
2022/06/25 Javascript