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 相关文章推荐
TinyMCE 新增本地图片上传功能
Nov 05 Javascript
删除节点的jquery代码
Jan 13 Javascript
利用javascript实现全部删或清空所选的操作
May 27 Javascript
JS实现文字向下滚动完整实例
Feb 06 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
vue 中动态绑定class 和 style的方法代码详解
Jun 01 Javascript
vue实现微信分享功能
Nov 28 Javascript
微信小程序实现文字从右向左无限滚动
Nov 18 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
Vue组件通信的几种实现方法
Apr 25 Javascript
通过滑动翻页效果实现和移动端click事件问题
Jan 26 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数字格式化
2006/12/06 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
JavaScript 参考教程
2006/12/29 Javascript
Javascript valueOf 使用方法
2008/12/28 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
web基于浏览器的本地存储方法应用
2012/11/27 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
简单实现js鼠标跟随效果
2020/08/02 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
Python内存管理实例分析
2019/07/10 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
澳大利亚现代波西米亚风格女装网站:Bohemian Traders
2018/04/16 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
教师简历自我评价
2014/02/03 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
班组拓展活动方案
2014/08/14 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
西湖英语导游词
2015/02/06 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书