jQuery.parseJSON()函数详解


Posted in jQuery onFebruary 28, 2019

jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。

所谓”格式完好”,就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。

如果传入一个格式不”完好”的JSON字符串将抛出一个JS异常,例如:以下字符串均符合JSON格式,但它们不是格式完好的JSON字符串(因此会抛出异常):

// 以下均是字符串值,省略了两侧的引号,以便于展现内容
{id: 1} // id是属性名称,必须加双引号
{'id': 1} // id是属性名称,必须用双引号(不能用单引号)
{"name": 'CodePlayer'} // name属性的值是字符串,必须用双引号(不能用单引号)

JSON标准不允许字符串中出现”控制字符”,例如:一个Tab或换行符。

$.parseJSON('{"name": "Code\tPlayer\n"}'); // 多数情况下,它会抛出一个错误,因为JS解析器会将字符串中的\t或\n等转义直接视作字面值,起到Tab或换行的效果。
//正确写法应该如下(使用两个反斜杠,以免被JS解析器直接转义\t或\n):
$.parseJSON('{"name": "Code\\tPlayer\\n"}');

如果浏览器提供了一个本地的JSON.parse()方法,则jQuery将使用它来解析JSON字符串。

在jQuery 1.9之前(不含1.9):如果传入一个空字符串、null或undefined,该函数将返回null,而不是抛出一个错误,即使它不是有效的JSON字符串。

该函数属于全局的jQuery对象。

语法

jQuery 1.4.1 新增该静态函数。

jQuery.parseJSON( jsonString ) 参数
参数 描述 jsonString String类型需要解析并转为JS对象的JSON格式字符串。 返回值
jQuery.parseJSON()函数的返回值为任意类型,返回解析指定JSON字符串后的JavaScript表示。

示例&说明

以下是与jQuery.parseJSON()函数相关的jQuery示例代码,以演示jQuery.parseJSON()函数的具体用法:

var result1 = $.parseJSON( "{}" ); // 一个空的Object对象
var result2 = $.parseJSON( '{ "name": "CodePlayer", "age": 1 }' ); // 一个Object对象
alert( result2.name ); // CodePlayer
var result3 = $.parseJSON( '[ 1, true, "CodePlayer" ]' ); // 一个Object对象
alert( result3[2] ); // CodePlayer
var result4 = $.parseJSON( 'true' ); // 布尔值:true
var result5 = $.parseJSON( 'null' ); // null
var result6 = $.parseJSON( '0' ); // 整数:0
var result7 = $.parseJSON( '"专注于编程开发技术分享"' ); // 字符串值:专注于编程开发技术分享
var result8 = $.parseJSON( "\"专注于编程开发技术分享\"" ); // 字符串值:专注于编程开发技术分享
/* 以下均是无效的JSON字符串或非常规的参数值 */
var result9 = $.parseJSON( 100 ); // 1.9之前返回null;1.9+返回100
var result10 = $.parseJSON( 1.23 ); // 1.9之前返回null;1.9+返回1.23
var result11 = $.parseJSON( true ); // 1.9之前返回null;1.9+返回true
var result12 = $.parseJSON( null ); // 返回null
var result13 = $.parseJSON( "" ); // 1.9之前返回null;1.9+抛出错误
var result14 = $.parseJSON( undefined ); // 1.9之前返回null;1.9+抛出错误
var result15 = $.parseJSON( "undefined" ); // 抛出错误
var result16 = $.parseJSON( "12x;xx'无效的JSON字符串x4546" ); // 抛出错误
var result17 = $.parseJSON( '{ name: "CodePlayer", age: 1 }' ); // 抛出错误
var result18 = $.parseJSON( '{ "name": \'CodePlayer\', "age": 1 }' ); // 抛出错误
var result19 = $.parseJSON( '{ "name": "Code\tPlayer\n" }' ); // 抛出错误

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

jQuery 相关文章推荐
利用jQuery解析获取JSON数据
Apr 08 jQuery
jquery 校验中国身份证号码实例详解
Apr 11 jQuery
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
May 20 jQuery
jQuery自定义多选下拉框效果
Jun 19 jQuery
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 jQuery
jQuery实现可编辑表格并生成json结果(实例代码)
Jul 19 jQuery
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
jquery对table做排序操作的实例演示
Aug 10 jQuery
jQuery简单实现对数组去重及排序操作实例
Oct 31 jQuery
jquery自定义显示消息数量
Dec 19 jQuery
基于jquery.page.js实现分页效果
Jan 01 jQuery
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
jQuery each和js forEach用法比较
Feb 27 #jQuery
jQuery中each和js中forEach的区别分析
Feb 27 #jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 #jQuery
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 #jQuery
jQuery表单元素过滤选择器用法实例分析
Feb 20 #jQuery
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 #jQuery
jQuery选择器之基本过滤选择器用法实例分析
Feb 19 #jQuery
You might like
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
浅析php-fpm静态和动态执行方式的比较
2016/11/09 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
完美解决js传递参数中加号和&号自动改变的方法
2016/10/11 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
基于Python log 的正确打开方式
2018/04/28 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
中国宠物用品商城:E宠商城
2016/08/27 全球购物
英国办公用品商店:Office Outlet
2018/04/04 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
应届生妇产科护士求职信
2013/10/27 职场文书
搬家公司的创业计划书
2014/01/01 职场文书
高三历史教学反思
2014/01/09 职场文书
工程招投标邀请书
2014/01/30 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
一般党员对照检查材料
2014/09/24 职场文书
投资入股合作协议书
2014/10/28 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书