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实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
Mar 28 Javascript
一个JQuery写的点击上下滚动的小例子
Aug 27 Javascript
基于jQuery的公告无限循环滚动实现代码
May 11 Javascript
客户端js性能优化小技巧整理
Nov 05 Javascript
Node.js与PHP、Python的字符处理性能对比
Jul 06 Javascript
javascript的 {} 语句块详解
Feb 27 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
Aug 09 Javascript
微信小程序 数据交互与渲染实例详解
Jan 21 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
Oct 17 Javascript
vue左右侧联动滚动的实现代码
Jun 06 Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 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_xmlhttp 乱码问题解决方法
2009/08/07 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
用python读写excel的方法
2014/11/18 Python
Python 统计字数的思路详解
2018/05/08 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
用canvas显示验证码的实现
2020/04/10 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
医药工作岗位求职信分享
2013/12/31 职场文书
上班离岗检讨书
2014/01/27 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
企业活动策划方案
2014/06/02 职场文书
简历自我评价模板
2015/03/11 职场文书
廉政承诺书范文
2015/04/28 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书