码迷,mamicode.com
首页 > Web开发 > 详细

jquery 的JSON.parse JSON.stringify 和parseJSON 方法的区别使用

时间:2018-05-07 21:02:33      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:val   函数   parse   单引号   name   ret   nbsp   属性   换行符   

1.JSON.parse(str) 用于从一个字符串中解析出json对象,如

var str = ‘{"name":"huangxiaojian","age":"23"}‘

结果:

JSON.parse(str)

Object
  1. age"23"
  2. name"huangxiaojian"
  3. __proto__Object

注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。

 

2.JSON.stringify(a) 用于从一个对象解析出字符串,如

var a = {a:1,b:2}

结果:

JSON.stringify(a)

"{"a":1,"b":2}"

 

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

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

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

// 以下均是字符串值,省略了两侧的引号,以便于展现内容

{id: 1} // id是属性名称,必须加双引号
{‘id‘: 1} // id是属性名称,必须用双引号(不能用单引号)
{"name": ‘CodePlayer‘} // name属性的值是字符串,必须用双引号(不能用单引号)

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

$.parseJSON(‘{"name": "Code\tPlayer\n"}‘); // 多数情况下,它会抛出一个错误,因为JS解析器会将字符串中的\t或\n等转义直接视作字面值,起到Tab或换行的效果。

//正确写法应该如下(使用两个反斜杠,以免被JS解析器直接转义\t或\n):
$.parseJSON(‘{"name": "Code\\tPlayer\\n"}‘);

jquery 的JSON.parse JSON.stringify 和parseJSON 方法的区别使用

标签:val   函数   parse   单引号   name   ret   nbsp   属性   换行符   

原文地址:https://www.cnblogs.com/my-blog-yu/p/9004655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!