今天在做项目的过程中,想用localStorage存一个json数组。举个例子:
let studentList=[{“studentNo”:"001"},{“studentNo”:"002"}]
如果直接存放localStorage.setItem("studentList",studentList);
在监测值的过程中,你会发现是object object,object object.然后尝试用localStorage.getItem("studentList").length会发现不是2.
具体原因是1.json格式不能使用.length
2.存放的过程中需要先使用JSON.stringify()进行json对象转json字符串
语法:JSON.stringify(value [, replacer] [, space])
其中value 必填,通常为对象或数组
replacer 非必填 ,用于转换结果的函数或者数组
space 非必填, 向返回值 JSON 文本添加缩进、空格和换行符以使其更易于读取。
3.取值的过程中记得json字符串转回json对象。采用的是JSON.parse()
语法:JSON. parse(text[,reviver]).
参数:text 必填,一个有效的json字符串。
reviver 非必填 一个转换结果的函数, 将为对象的每个成员调用此函数。