json相关:js对象和数组的序列化和反序列化
json是各种语言之前交互的桥梁般的存在
任何语言都可以将json字符串转为自己的变量保存起来
在对象中通过编写toJSON函数来设置js对象序列化的返回结果
let user = {
name: 'SJ',
age: 18,
position: 'student',
// 自定义序列化 js对象变为字符串
toJSON: function() {
return {
title: this.name
};
}
};
let json = JSON.stringify(user, null, 2);
console.log(json);
// 数组序列化成json
let arr = ["php", "study"];
let arrjson = JSON.stringify(arr, null, 2);
console.log(arrjson);
stringify方法三个参数分别为,待序列化对象,需要序列化的属性,以及格式化(空几个格)
使用 JSON.parse() 方法可以讲json字符串转为js对象(反序列化)
可以对反序列化的js对象进行一些处理操作,如下:
let obj = JSON.parse(json, (key, value) => {
if(key == "name") {
value = "SJ-" + value;
}
return value;
})
console.log(obj);