JavaScript高级程序设计_第20章 个人笔记

第20章——JSON

JavaScript Object Notation

一种数据格式

格式

  • 简单值
  • 对象
    • 属性名需要双引号
  • 数组
  • 作为末尾不能添加,

如下:

[
    {
        "name": "gem",
        "age": 22,
        "details": {
            "sex": "man"
        }
    },
    {
        "name": "zjj",
        "age": 21,
        "details": {
            "sex": "man"
        }
    }
]

序列化

JSON.stringify()

在对JavaScript对象进行序列化的时候:

  • 所有函数及原型成员都会被忽略
  • 值为undefined的任何属性也会被跳过

序列化选项(参数)

  1. 被序列化的对象
  2. 过滤器(数组/函数)
  3. 是否保留缩进
var obj={
    name:'gem',
    age:22,
    sex:'man'
}
var jsonText = JSON.stringify(obj,["name","age"]) // {"name":"gem","age":22}
// 过滤出name与age
var jsonTextFun = JSON.stringify(obj,function(name,value){
    return value
},false)
// 可在函数内部对数据进行处理,后返回一个value作为对应属性序列化的value值

解析

JSON.parse()

解析产生一个具有相同属性的对象,但新对象是独立的,与原有未序列化的对象没有关系。

利用这一点可以深拷贝

解析选项(参数)

  1. 被解析的已序列化对象
  2. 过滤函数

你可能感兴趣的:(JavaScript,笔记,json)