Javascript基础系列(十五)-JSON
一种数据格式,而非编程语言
{
'name': 'json',
'age':15
'v' : [
'simpleValue',
'object',
'array'
]
}
语法
包含三种数据类型的值
- 简单值: 字符串类型、数字类型、布尔值、null
- 对象: 表示{} 复杂数据对象
- 数组: 表示[] 可以是简单值的集合,也可以是对象的集合,还可以是数组的集合
解析与序列化
JSON对象
- JSON.stringify() 将对象转成json字符串
- JSON.parse() 将json字符串序列化成对象
序列化选项
JSON.stringify(obj, [attr1, attr2...]); 过滤出某些属性
JSON.stringify(obj, function(key, value) {
// 按一定逻辑规则渲染原对象的值
});
JSON.stringify(obj, null, 4); // 第三个参数缩进字符
可以重写对象的toJSON方法
- toJSON()可以作为函数过滤器的补充,因此理解序列化的内部顺序十分重要。
- 假设把一个对象传入 JSON.stringify(),序列化该对象的顺序如下
- (1) 如果存在 toJSON()方法而且能通过它取得有效的值,则调用该方法。否则,返回对象本身。
- (2) 如果提供了第二个参数,应用这个函数过滤器。传入函数过滤器的值是第(1)步返回的值。
- (3) 对第(2)步返回的每个值进行相应的序列化。
- (4) 如果提供了第三个参数,执行相应的格式化。
JSON.parse() 同样具有第二个参数
JSON.parse(jsonText, function(key, value) {
// xxx
});
JAVA语法下Fastjson 可以参考
https://www.cnblogs.com/jajian/p/10051901.html
如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!