JSON的一些细节

这篇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!

转载于:https://www.cnblogs.com/li-lanie/p/5499323.html

JSONJavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但是JSON是独立于语言的文本格式。JSON可以被多种编程语言读取和生成,比如Java、Python、C#等。 当需要对比两个JSON对象时,我们可以关注它们的结构、字段类型、值以及层级差异。这通常用于数据同步、更新检测、错误追踪等场景。 1. 结构对比:检查两个JSON对象的键(key)和值(value)是否匹配。这包括键的顺序(在JSON中键的顺序不影响数据结构),以及是否存在额外的或缺少的键。 2. 字段类型对比:对于两个结构相同的键,需要检查它们的数据类型是否一致。比如一个键对应的值可能是字符串,而另一个可能是数字,这在JSON对比中视为不一致。 3. 值的对比:即使两个键的类型相同,它们对应的值也可能不一致。比如两个字符串键对应的值可能在拼写上有所不同,或者两个整数键对应的值可能在数值上存在差异。 4. 层级差异:对于嵌套的JSON对象,需要逐层对比内嵌的键值对。这涉及到递归对比的过程,确保每一个层级的结构和值都是匹配的。 对比两个JSON对象的工具通常提供视觉化的差异展示,比如高亮显示不同之处,或者以图形的方式展示层级结构的变化。这有助于开发者快速识别数据的不同点,加快开发和调试的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值