前一段时间用到h5的本地存储---需要把某个js对象存储在浏览器的本地存储中,用到了javascript对象的序列化与反序列化
所谓的序列化就是将对象的状态信息转换为可以存储或传输的形式的过程,基本上所有的语言都有序列化对象的方法,例如:php中的 serialize() 与 unserialize() 方法 及 jsonencode() 与 jsondecode() 方法
下面来看一下将javascript对象序列化成json字符串及其反序列化:
javascript对象序列化为json格式的字符串:
1 var xiaoming = {
2 name: '小明',
3 age: 14,
4 gender: true,
5 height: 1.65,
6 grade: null,
7 'middle-school': '\"W3C\" Middle School',
8 skills: ['JavaScript', 'Java', 'Python', 'Lisp']
9 };
10
11 JSON.stringify(xiaoming); // '{"name":"小明","age":14,"gender":true,"height":1.65,"grade":null,"middle-school":"\"W3C\" Middle School","skills":["JavaScript","Java","Python","Lisp"]}'
反序列化:
拿到一个json格式的字符串,直接使用JSON.parse(),将其编程一个javascript对象
1 JSON.parse('[1,2,3,true]'); // [1, 2, 3, true]
2 JSON.parse('{"name":"小明","age":14}'); // Object {name: '小明', age: 14}
3 JSON.parse('true'); // true
4 JSON.parse('123.45'); // 123.45
具体用法请参考:廖雪峰教程