《JavaScript高级程序设计》总结——第20章:JSON

版权声明:转载请先告知哦 https://blog.csdn.net/PINK789/article/details/88397216

语法

1:JSON语法支持的值的类型
(1)四种基础数据类型(不支持undefined)
(2)对象:对象是一组无序的键值对,每个键值对可以是任意类型——简单值、对象、数组;
(3)数组:数组的值也可以是任意类型——简单值、对象和数组;

2:JSON不支持:变量、函数、或对象实例,它是一种表示结构化数据的格式;

3:他们都是有效的JSON数据

5
"Hello World!"

4:JSON和javascript字面量对象的区别
(1)JSON属性名必须加双引号;
(2)JSON没有声明变量;
(3)末尾没有分号;

//对象的字面量表示法
var book = {
	editor:"Mary",
	edition:3
};
//JSON
{
	"editor":"Mary",
	"edition":3
}

5:JSON.stringify() 方法:
(1)参数:参数一JS对象,参数二:过滤器(也可以是一个是数组),参数三:表示是否在JSON字符串中保留缩进;
(2)作用:javascript对象解析为JSON;

var jsonText = JSON.stringify(book);	//{"editor":"Mary","edition":3}
var JSONText2 = JSON.stringify(book,["title"],4)//表示缩进四个空格

6:**JSON.parse()**方法:JSON字符串解析为原生JavaScript值;

JSON.parse(jsonText)//{title: "Professional JavaScript", authors: Array(1), edition: 3, year: 2011}

7:对象.toJSON()

解析和序列化

小结

(1)JSON 是一个轻量级的数据格式,可以简化表示复杂数据结构的工作量。JSON 使用 JavaScript 语法的子集表示对象、数组、字符串、数值、布尔值和 null。即使 XML 也能表示同样复杂的数据结果,但JSON 没有那么烦琐,而且在 JavaScript 中使用更便利。
(2)ECMAScript 5 定义了一个原生的 JSON 对象,可以用来将对象序列化为 JSON 字符串或者将 JSON数据解析为 JavaScript 对象。JSON.stringify()和 JSON.parse()方法分别用来实现上述两项功能。
(3)这两个方法都有一些选项,通过它们可以改变过滤的方式,或者改变序列化的过程。原生的 JSON 对象也得到了很多浏览器的支持,比如 IE8+、Firefox 3.5+、Safari 4+、Opera 10.5 和
Chrome。

猜你喜欢

转载自blog.csdn.net/PINK789/article/details/88397216