由于偶然用到了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):如果传入一个空字符串、nullundefined,该函数将返回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() 函数详解相关推荐

  1. jQuery.parseJSON()函数详解

    jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象. 所谓"格式完好",就是要求指定的字符串必须符合严格的JSON格式,例 ...

  2. [zz]jQuery.extend 函数详解

    JQuery的extend扩展方法:       Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.       一.Jquery的扩 ...

  3. js $.ajax stop,jQuery.ajaxStop() 函数详解

    ajaxStop()函数用于为AJAX请求的ajaxStop事件绑定处理函数. 这是一个全局AJAX事件函数,用于在ajaxStop事件被触发时执行绑定的事件处理函数. jQuery官方文档描述:无论 ...

  4. jquery.ajaxSetup()函数详解

    jquery.ajaxSetup() 函数用于设置全局默认设置.jquery1.1新增 该静态函数 语法:  jquery.ajaxSetup(settings) 参数(settings):一个对象, ...

  5. jQuery.inArray() 函数详解

    jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值.如果数组中不存在该值,则返回 -1. 该函数属于全局jQuery对象. 语法 jQuery 1.2 新增该静态函数. jQ ...

  6. jQuery.delegate() 函数详解

    delegate()函数用于为指定元素的一个或多个事件绑定事件处理函数. 此外,你还可以额外传递给事件处理函数一些所需的数据. 即使是执行delegate()函数之后新添加的元素,只要它符合条件,绑定 ...

  7. jQuery.extend 函数详解

    JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解. 一.Jquery的扩展方法原型 extend ...

  8. jQuery.ready() 函数详解

    ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数,jQuery将在DOM文档结构加载完毕后 ...

  9. jQuery.bind() 函数详解

    bind()函数用于为每个匹配元素的一个或多个事件绑定事件处理函数. 此外,你还可以额外传递给事件处理函数一些所需的数据. 执行bind()时,事件处理函数会绑定到每个匹配元素上.因此你使用bind( ...

最新文章

  1. 解决安装svn后出现Unable to connect to a repository at URL以及认证失败
  2. Data Remove 程序总结
  3. 上海大学计算机工程与科学学院官网,上海大学计算机工程与科学学院.PDF
  4. sql server 2008 报表部署:提示输入用户名密码
  5. 在C++中反射调用.NET(二)
  6. ForeignKey和ManyToManyField的限制关系
  7. Extjs4前端开发代码规范参考
  8. 清空文件夹_回收站不小心被清空?简单3步即刻找回丢失文件,值得收藏!
  9. CCF认证-2014-12-2 Z字形扫描
  10. ie8以ie7方式解析
  11. CentOS基本的命令与快捷建
  12. 极客大学架构师训练营 组件设计原则 安全架构 防火墙ModSecurity 第21课 听课总结
  13. 详细解析十大排序算法(js实现)
  14. Js之$.ajax回调函数获取结果的问题-yellowcong
  15. 软件测试之安装数据库
  16. 上传项目到GitHub(超详细)
  17. acm会议什么档次_盘点AI国际顶级会议
  18. 服务器内存不足应用无法登录,纸飞鸟无法打开怎么办 纸飞鸟登录不了解决方案...
  19. ADSP-21569/ADSP-21593的开发入门(下)
  20. 天翼宽带路由器设置问题

热门文章

  1. 第一章 Node简介
  2. word Find-Execute 0x800706F7
  3. Cisco思科路由器HSRP配置和排障那些事儿~~
  4. 直播平台的视频美颜sdk是什么?
  5. 向量的内积外积与其几何意义
  6. 装修家装设计施工现场工地进度小程序
  7. kali 安装vscode
  8. java自动装箱怎么实现_Java 自动装箱与拆箱的实现原理
  9. python withopen还要close吗_Python - with open()、os.open()、open()的详细使用
  10. 自定义单张图片放大预览功能,可支持手势缩放,依赖jquery