JSON的一些细节

时间:2020-12-11 12:51:31

这篇JSON的随笔只是为了简单地复习一下学习到的JSON的内容。都是一些很基础的东西。如果你不小心看到了这篇文,那就一起复习吧。(。・∀・)ノ

JSON不支持JavaScript中的undefined类型。

JSON无序。

JSON字符串必须使用双引号(不管是属性名还是属性值中的字符串,一律都要双引号!!)

与JavaScript相比,JSON:

1. 没有声明变量(JSON没有变量的概念)。

2. 没有末尾的分号。

嵌入对象用{}

数组用[]

使用JSON的优势:最简单的,需要敲打的代码少,不需要调用其他的方法。

《JavaScript高级程序设计 第三版》中使用的例子是:

在把JSON解析为JavaScript对象后 => book[2].title.

如果是使用DOM => document.getElementsByTagName("book")[2].getAttribute("title")

JSON对象:

1. stringify():  JavaScript => JSON

参数:1. 对象名。

2. 过滤器。 可以是一个数组,结果中只包含数组中列出的属性。

如果是一个函数,则传入的函数接收两个参数:属性名和属性值。这个函数主要是对要序列化的对象进行处理,处理方式就是根据属性名来决定该函数返回的属性值。

3. 选项。是否保留缩进和空白符。 只要传入有效的控制缩进的参数值(最大为10, 超过10自动转化为10),则结果字符串中就会包含缩进和换行符,如果不是数值而是  字符串, 则字符串将在JSON中充当缩进字符。

2. parse(): JSON => JavaScript

参数:1. 对象名。

2. 一个函数,将在每个键值对上调用,这个函数称为还原函数(reviver),依旧是传入两个参数:属性名和属性值。用法与过滤器函数相同。

3. toJSON()方法。

stringify()的补充,优先考虑toJSON方法,其次是考虑过滤器函数,再者是考虑选项中的内容

end!