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实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
Jquery获取radio选中的值
May 05 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 jQuery
jquery动态赋值id与动态取id方法示例
Aug 21 jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
详解jQuery设置内容和属性
Apr 11 jQuery
jQuery实现弹幕特效
Nov 29 jQuery
jQuery实现本地存储
Dec 22 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
PHP简单生成缩略图相册的方法
2015/07/29 PHP
php简单防盗链实现方法
2015/07/29 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
vue.js封装switch开关组件的操作
2020/10/26 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
Python函数的周期性执行实现方法
2016/08/13 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
python实现简单颜色识别程序
2020/02/19 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
妇产科护士自我鉴定
2013/10/15 职场文书
国贸专业个人求职信分享
2013/12/04 职场文书
个人作风剖析材料
2014/02/02 职场文书
函授本科自我鉴定
2014/02/04 职场文书
个人自我鉴定总结
2014/03/25 职场文书
请假条范文大全
2014/04/10 职场文书
领导班子整改方案
2014/10/25 职场文书
企业整改报告范文
2014/11/08 职场文书
二手车转让协议书
2015/01/29 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript