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 相关文章推荐
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
Apr 20 Javascript
JavaScript面向对象之Prototypes和继承
Jul 12 Javascript
jQuery JSON实现无刷新三级联动实例探讨
May 28 Javascript
JS实现控制表格内指定单元格内容对齐的方法
Mar 30 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
基于jquery实现三级下拉菜单
May 10 Javascript
JS原型继承四步曲及原型继承图一览
Nov 28 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 Javascript
微信小程序 textarea 层级过高问题简单解决方案
Oct 14 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
Jul 20 Javascript
js实现鼠标滑动到某个div禁止滚动
Sep 17 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
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP打印输出函数汇总
2016/08/28 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
JS获取父节点方法
2009/08/20 Javascript
传智播客学习之java 反射
2009/11/22 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
JS动态显示表格上下frame的方法
2015/03/31 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
JS设计模式之责任链模式实例详解
2018/02/03 Python
对Python3中的input函数详解
2018/04/22 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
办公室前台的岗位职责
2013/12/20 职场文书
学校卫生检查制度
2014/02/03 职场文书
协会周年庆活动方案
2014/08/26 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
单位同意报考证明
2015/06/17 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers