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 25 Javascript
js和jquery使按钮失效为不可用状态的方法
Jan 26 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
javascript中setInterval的用法
Jul 19 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
开启BootStrap学习之旅
May 04 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
Oct 27 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
Apr 22 Javascript
原生JS实现简单的倒计时功能示例
Aug 30 Javascript
微信小程序与后台PHP交互的方法实例分析
Dec 10 Javascript
vue数据更新UI不刷新显示的解决办法
Aug 06 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
Nov 05 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类型约束用法示例
2016/09/28 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python urlopen 使用小示例
2008/09/06 Python
Python中decorator使用实例
2015/04/14 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Python实现感知机(PLA)算法
2017/12/20 Python
python多进程间通信代码实例
2019/09/30 Python
python入门之基础语法学习笔记
2020/02/08 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
小学一年级评语大全
2014/04/22 职场文书
完美的中文自荐信
2014/05/24 职场文书
五一口号
2014/06/19 职场文书
房产协议书范本2014
2014/09/30 职场文书
二手车转让协议书
2015/01/29 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
react中的DOM操作实现
2021/06/30 Javascript
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers