0%

JS localStorage 和 JSON 保存数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
localStorage 是浏览器自带的功能
localStorage 可以用来存储字符串数据, 在浏览器关闭后依然存在
但是不同页面拥有各自独立的 localStorage */
// 存储方法如下
localStorage.name = 'xx'
/*
关闭浏览器, 再次打开, 仍然能获取到这个值
log('关闭浏览器后', localStorage.name)

利用 localStorage 就可以存储数据
但是数据存在 array 中
而 localStorage 只能存储 string 数据
所以没办法直接存储

可行的办法如下
存储的时候把 array 转换为字符串
读取的时候把字符串转成 array
这个过程通常被称之为 序列化 和 反序列化

在 js 中, 序列化使用 JSON 数据格式
全称 JavaScript Object Notation (js对象标记) */

var s = JSON.stringify([1, 2, 3, 4])
console.log('序列化后的字符串', typeof s, s)
var a = JSON.parse(s)
console.log('反序列化后的数组', typeof a, a)

// 使用 JSON 序列化后, 就可以把数据存入浏览器的 localStorage 了