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编程起步(第七课)
Jan 10 Javascript
使用Firebug对js进行断点调试的图文方法
Apr 02 Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
Sep 04 Javascript
javascript实现input file上传图片预览效果
Dec 31 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
Jun 12 Javascript
javascript实现根据汉字获取简拼
Sep 25 Javascript
div实现自适应高度的textarea实现angular双向绑定
Jan 08 Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
Sep 14 Javascript
js自定义trim函数实现删除两端空格功能
Feb 09 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
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调用Java对象的方法
2006/10/09 PHP
如何隐藏你的.php文件
2007/01/04 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
List Installed Hot Fixes
2007/06/12 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
Python Tkinter基础控件用法
2014/09/03 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
python 8种必备的gui库
2020/08/27 Python
python爬虫请求头的使用
2020/12/01 Python
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
实习自我鉴定
2013/12/15 职场文书
会议活动邀请函
2014/01/27 职场文书
经典促销广告词大全
2014/03/19 职场文书
水电站项目建议书
2014/05/12 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
上课说话检讨书500字
2014/11/01 职场文书
安全第一课观后感
2015/06/18 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android