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 相关文章推荐
基于jquery的滚动条滚动固定div(附演示下载)
Oct 29 Javascript
javascript常用方法汇总
Dec 02 Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 Javascript
JavaScript基础重点(必看)
Jul 09 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
Oct 10 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
Vue父组件调用子组件事件方法
Feb 23 Javascript
JavaScript实现的简单加密解密操作示例
Jun 01 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
你不可不知的Vue.js列表渲染详解
Oct 01 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
phpinfo 系统查看参数函数代码
2009/06/05 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
python运行其他程序的实现方法
2017/07/14 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
python实现五子棋程序
2020/04/24 Python
Django返回HTML文件的实现方法
2020/09/17 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
小学教师岗位职责
2013/11/25 职场文书
自荐信的格式
2014/03/10 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
外联部演讲稿
2014/05/24 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL