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 相关文章推荐
js 禁用只读文本框获得焦点时的退格键
Apr 25 Javascript
jQuery中:first-child选择器用法实例
Dec 31 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
Nov 24 Javascript
mvc中form表单提交的三种方式(推荐)
Aug 10 Javascript
DOM事件探秘篇
Feb 15 Javascript
关于JavaScript的单双引号嵌套问题
Aug 20 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
vue-router懒加载速度缓慢问题及解决方法
Nov 25 Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
Vue.js如何使用Socket.IO的示例代码
Sep 05 Javascript
vue-router结合vuex实现用户权限控制功能
Nov 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
利用python求相邻数的方法示例
2017/08/18 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
Python ellipsis 的用法详解
2020/11/20 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
预备党员表决心书
2014/03/11 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
商家认证委托书格式
2014/10/16 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
redis protocol通信协议及使用详解
2022/07/15 Redis
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL