jQuery.parseJSON() 函数详解
由于偶然用到了javascript中JSON.parse和JSON.stringify,所以就查了一下jquery中有关这方面的知识,jQuery.parseJSON()这个用法,怎么用,我总结一下,于是转载了一篇详细的。
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 ); // CodePlayervar result3 = $.parseJSON( '[ 1, true, "CodePlayer" ]' ); // 一个Object对象 alert( result3[2] ); // CodePlayervar result4 = $.parseJSON( 'true' ); // 布尔值:truevar result5 = $.parseJSON( 'null' ); // nullvar result6 = $.parseJSON( '0' ); // 整数:0var 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 ); // 返回nullvar 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.parseJSON() 函数详解相关推荐
- jQuery.parseJSON()函数详解
jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象. 所谓"格式完好",就是要求指定的字符串必须符合严格的JSON格式,例 ...
- [zz]jQuery.extend 函数详解
JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解. 一.Jquery的扩 ...
- js $.ajax stop,jQuery.ajaxStop() 函数详解
ajaxStop()函数用于为AJAX请求的ajaxStop事件绑定处理函数. 这是一个全局AJAX事件函数,用于在ajaxStop事件被触发时执行绑定的事件处理函数. jQuery官方文档描述:无论 ...
- jquery.ajaxSetup()函数详解
jquery.ajaxSetup() 函数用于设置全局默认设置.jquery1.1新增 该静态函数 语法: jquery.ajaxSetup(settings) 参数(settings):一个对象, ...
- jQuery.inArray() 函数详解
jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值.如果数组中不存在该值,则返回 -1. 该函数属于全局jQuery对象. 语法 jQuery 1.2 新增该静态函数. jQ ...
- jQuery.delegate() 函数详解
delegate()函数用于为指定元素的一个或多个事件绑定事件处理函数. 此外,你还可以额外传递给事件处理函数一些所需的数据. 即使是执行delegate()函数之后新添加的元素,只要它符合条件,绑定 ...
- jQuery.extend 函数详解
JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解. 一.Jquery的扩展方法原型 extend ...
- jQuery.ready() 函数详解
ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数,jQuery将在DOM文档结构加载完毕后 ...
- jQuery.bind() 函数详解
bind()函数用于为每个匹配元素的一个或多个事件绑定事件处理函数. 此外,你还可以额外传递给事件处理函数一些所需的数据. 执行bind()时,事件处理函数会绑定到每个匹配元素上.因此你使用bind( ...
最新文章
- 解决安装svn后出现Unable to connect to a repository at URL以及认证失败
- Data Remove 程序总结
- 上海大学计算机工程与科学学院官网,上海大学计算机工程与科学学院.PDF
- sql server 2008 报表部署:提示输入用户名密码
- 在C++中反射调用.NET(二)
- ForeignKey和ManyToManyField的限制关系
- Extjs4前端开发代码规范参考
- 清空文件夹_回收站不小心被清空?简单3步即刻找回丢失文件,值得收藏!
- CCF认证-2014-12-2 Z字形扫描
- ie8以ie7方式解析
- CentOS基本的命令与快捷建
- 极客大学架构师训练营 组件设计原则 安全架构 防火墙ModSecurity 第21课 听课总结
- 详细解析十大排序算法(js实现)
- Js之$.ajax回调函数获取结果的问题-yellowcong
- 软件测试之安装数据库
- 上传项目到GitHub(超详细)
- acm会议什么档次_盘点AI国际顶级会议
- 服务器内存不足应用无法登录,纸飞鸟无法打开怎么办 纸飞鸟登录不了解决方案...
- ADSP-21569/ADSP-21593的开发入门(下)
- 天翼宽带路由器设置问题
热门文章
- 第一章 Node简介
- word Find-Execute 0x800706F7
- Cisco思科路由器HSRP配置和排障那些事儿~~
- 直播平台的视频美颜sdk是什么?
- 向量的内积外积与其几何意义
- 装修家装设计施工现场工地进度小程序
- kali 安装vscode
- java自动装箱怎么实现_Java 自动装箱与拆箱的实现原理
- python withopen还要close吗_Python - with open()、os.open()、open()的详细使用
- 自定义单张图片放大预览功能,可支持手势缩放,依赖jquery