JSON

本文详细介绍了JSON的基本概念、数据格式特点及JavaScript中的序列化与反序列化方法。解释了JSON的适用范围,包括简单值、对象与数组,并展示了如何使用JSON.stringify()和JSON.parse()进行数据转换。
摘要由CSDN通过智能技术生成

1. 全称: JavaScript Object Notation。

2. json是一种结构化数据格式,不从属于某一种语言。

3. json 可以表示哪些类型的值?

    ① 简单值:字符串、数值、布尔值和 null

    ② 对象:json 中的对象没有变量和末尾的分号; json 中对象的属性必须加双引号

    ③ 数组:json 中的数组也没有变量和末尾的分号。

4. json 字符串必须用双引号,单引号会导致语法错误。

5. ES5 定义了全局对象 JSON,JSON 对象有两个方法:stringify() 和 parse(),分别用于将JavaScript 对象序列化为 JSON 字符串和把 JSON 字符串解析为原生 JavaScript 值。

    注:序列化 JavaScript 对象时,函数及原型对象被有意忽略,不体现在结果中,值为 undefined 的属性也会被跳过。JSON.parse() 方法中传入的字符串必须是有效的json.

6. JSON.stringify(obj , 过滤器 , 缩进)

    ① 第二个参数可以是一个数组,也可以是一个函数。若为函数时,接收两个参数:属性名和属性值,可以改变序列化对象的结果,若函数返回值为 undefined,那么相应的属性被删除。

    ② 第三个参数是一个选项,表示是否在 json 字符串中保留缩进。为数值则表示每个级别缩进的空格数。也可插入换行符增加可读性,eg: JSON.stringify(book,null,"--"),缩进字符不能超过10个字符长。

7. JSON.stringify() 不能满足序列化需求时可以给对象定义 toJSON() 方法。序列化顺序:

    ① 存在 toJSON() 方法并且通过它取到有效值,调用该方法,否则返回对象本身;

    ② 若存在第二个参数,应用过滤器,返回值为第一步的返回值;

    ③ 对第二步返回的每个值执行序列化;

    ④ 如果提供了第三个参数,执行相应的格式化。

8. JSON.parse() 也可以接收另一个参数,该参数是一个函数(还原函数)。(场景:日期字符串转换为 Date 对象时)


问题:json 与 xml 的 区别。

可参考:https://www.cnblogs.com/gslblog/p/6664641.html




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值