• 10. JavaScript学习笔记——JSON


    10. JSON

    ///【JSON是一种数据格式,不是JS 独有的】
    ///【JSON语法】
    /*
    1.数据书写格式:"name":value,JSON要求给属性名加上【双引号】,JSON不能用单引号
    2.JSON值可以是:数字(整数、浮点数),字符串,布尔值(true false),数组,对象,null,注意没有undefined
    3.数据由逗号分隔
    4.大括号保存对象
    5.中括号保存数组
    */
    {
        "bool":false,
        "str":"string",
        "num":12.3,
        "null":null,
        "arr":[1,"b",true],
        "obj":{   //数组、对象可以任意嵌套
            "a1":[1,2,3],
            "a2":false
        }
    }
    
    
    ///【JSON对象】
    //访问对象
    alert(Jobj.name);//通过点
    alert(Jobj["name"]);//通过[],同时这两种方法也可以修改
    
    //循环对象
    for(x in Jobj){
        console.log(x);//注意循环出的是JSON的属性名
    }
    for(x in Jobj){
        console.log(Jobj[x]);//通过索引来访问属性值,循环中不能通过 . 来获取属性值
    }
    
    //删除对象属性
    delete Jobj.name
    delete Jobj["name"]
    
    //JSON对象与JSON字符串
    var str = '{"name":"bin","age":20}';
    var obj = {"name":"bin","age":20};
    
    
    ///【解析与序列化】
    //【JSON.parse()】
    //JSON通常用于与服务端交换数据,接收到的服务端数据一般是字符串,可以使用JSON.parse()方法将其转换为JS对象
    JSON.parse(text[,reviver]);//text是JSON字符串,reviver可选,为对象的每个成员调用此函数function(key,value){...return}
    
    //【JSON.stringify()】
    //向服务器发送数据时一般是字符串,用JSON.stringify()将JSON对象转换为字符串
    JSON.stringify(value,[,replacer[,space]]);//value是JSON对象,replacer function(key,value){...return}
    
    //【序列化选项】
    //JSON.stringify()还可以接收另外两个参数,第一个参数是过滤器,可以是一个数组,也可以是一个函数;第二个参数是缩进选项。
    //过滤结果
    var book = {
        "title":"book1",
        year:2012,
        edition:3
    }
    var jsonText = JSON.stringify(book,["title"]) //只保留数组内给定的属性
    alert(jsonText)//{"title":"book1"}
    
    //函数形式
    //该函数接收两个参数,分别是键和值,然后根据键值判断,如果返回值为 undefined,则响应的属性会被删除
    var jsonText = JSON.stringify(book,function(key,value){
        switch(key){
            case "title":
                return value;
            case "year":
                return value+5;
            default: //必须加这个,必须返回value
                return value;
        }
    })
    
    
    //【字符串缩进】
    //增加可读性
    var jsonText = JSON.stringify(book,null,4)//缩进四个空格
    

      

  • 相关阅读:
    SQL Server数据库文件存储目录转移
    窗口管理器 dwm安装
    arch linux 安装
    如何在windows 2003(虚拟主机)上面部署MVC3
    .NET接入微信支付(一)JS API接入 V3
    MongoDB部署实战(一)MongoDB在windows平台分片集群部署
    .NET接入UnionPay银联支付(一)手机wap支付
    cas4.2.7 集群服务搭建
    JAVA计算整数的位数
    JAVA求解质因数
  • 原文地址:https://www.cnblogs.com/yuanyb/p/9703851.html
Copyright © 2020-2023  润新知