Json数据

json是一种数据格式,不是一种编程语言。
json语法:

    var person={
        "name":"tom", //字符串
        "age":19, //简单值
        "skills": ['JavaScript', 'Java', 'Python', 'Lisp'], //数组
        "grade":null, // null
        "gender":true, // 布尔值
        "school":"middle-school"
    }

json不支持变量、函数和对象实例,它为一种表示结构化数据的格式。
1.简单值:语法与JavaScript相同,支持字符串、数值、布尔值、null、但不支持underfine。
2.对象:一种复杂的数据类型,表示一组无序的键值对。
3.数组:一种复杂的数据类型,表示一组有序的值得列表。

注意:js字符串和json字符串的区别:json字符串必须使用双引号。
js字面量和json的区别:1.json没有变量 2.json的末尾没有分号(不是js语句,不需要分号)

json的序列化JSON.stringify()和反序列化JSON.parse():

    var person={
      name:"tom",
      age:12,
      grade:95,
    };
    console.log(JSON.stringify(person));// {"name":"tom","age":12,"grade":95}
    console.log(JSON.stringify(person,null," "));
    /*按缩进输出
    {
        "name":"tom",
        "age":12,
        "grade":95
    }
     */
     console.log(JSON.stringify(person,["name"])); // {"name":"tom"} 想输出指定的属性,可以传入Array:格式为["key"]

    function change(key,value){
        if(typeof(value)==="string"){
          return value.toUpperCase(); 
        }
        return value;
    }

    console.log(JSON.stringify(person,change," "));// 传入函数 {"name":"TOM","age":12,"grade":95}

    var xiaoming={
      name:"tom",
      age:12,
      grade:95,
      toJSON:function(){
        return {
            "name":this.name,
            "age":this.age
        }
      }
    };

    console.log(JSON.stringify(xiaoming))  //精确控制序列化 {"name":"tom","age":12}



    console.log(JSON.parse('{"name":"小明","age":14}')); // 反序列化JSON.parse()  Object {name: '小明', age: 14}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值