一、JSON
理解:JS的子集,因此可以直接使用eval;但是并不属于JS,只是一种数据结构。
1.1 JSON的语法
- 简单值
- 对象
- 数组
PS:以上JSON不支持变量、函数、对象实例;K必须使用双引号;不支持undefined
1.2 JSON解析与序列化
1.2.1 整体感知
var obj_JS = {
"title": "My note about JSON",
"authors":[
"liming","fanhgzhouzhou"
],
age: 3,
year:2018
}
// 把JS对象序列化为JSON字符串
var jsonText_1 = JSON.stringify(obj_JS)
// 把JSON字符串解析为原始JS对象
var jsonBack_1 = JSON.parse(jsonText_1)
var arr_JS = [
"yaer",'name',"age","when"
]
// 把JS数组序列化为JSON字符串
var jsonText_2 = JSON.stringify(arr_JS)
// 把JSON字符串解析为原始JS数组
var jsonBack_2 = JSON.parse(jsonText_2)
1.2.2 解析(反序列化) JSON.parse()
和JSON.stringify不同的是不包括第三个参数

1.2.3 序列化 JSON.stringify()



二、序列化
2.1 序列化的理解
根据百度百科上的说明:将对象的状态信息转换成可以存储或传输的形式的过程。以json的序列化来举例说明,就是通过将JSON数据转换为字符串,就是数据外层包裹了一对双引号。序列化后的JSON成为字符串,替代了XML作为网络结构化数据传输的类型
2.2 序列化的作用
- 以某种存储形式将自定义对象持久化
- 将对象从一个地方传递到另一个地方
- 使程序更具维护性
2.3 内存和磁盘(硬盘)
序列化后的变量可以储存在磁盘中,实现永久保存数据