美文网首页
No.20190829:JSON详解

No.20190829:JSON详解

作者: 喝酸奶不舔瓶蓋 | 来源:发表于2019-08-29 13:07 被阅读0次

    一、什么是JSON

    • JSON: JavaScript Object Notation(JavaScript 对象表示法)
    • JSON 是存储和交换文本信息的语法。类似 XML。
    • JSON 比 XML 更小、更快,更易解析。

    看例子

    {
        "sites": [
        { "name":"菜鸟教程" , "url":"www.runoob.com" }, 
        { "name":"google" , "url":"www.google.com" }, 
        { "name":"微博" , "url":"www.weibo.com" }
        ]
    }
    
    • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是
    • JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
    • JSON 具有自我描述性,更易理解

    二、JSON - 转换为 JavaScript 对象

       JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。
       由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

    三、JSON 语法规则

      JSON 语法是 JavaScript 对象表示语法的子集。

    • 数据在名称/值对中
    "name" : "neil"
    
    • 数据由逗号分隔
    • 大括号保存对象
    • 中括号保存数组

    四、JSON 值

    1、数字(整数或浮点数):
        { "age":30 }
    2、字符串(在双引号中)
    
    3、逻辑值(true 或 false)
        { "flag":true }
    4、数组(在中括号中)
        {
            "personObj":[
                {"name":"neil","age":"19","gender":"male"},
                {"name":"jason","age":"22","gender":"male"},
                {"name":"susan","age":"20","gender":"famale"}
            ]
        }
    5、对象(在大括号中)
        {
            "name":"neil" , 
            "url":"www.runoob.com"                            
        } 
    6、null
        { "runoob":null 
        }
    

    五、JSON 取值

    var personObj = [
        { "name": "neil", "age": "19", "gender": "male" },
        { "name": "jason", "age": "22", "gender": "male" },
        { "name": "susan", "age": "20", "gender": "famale" }
    ];
    
    var age = personObj[1].age;
    var gender = personObj[2]["gender"];
    

    六、JSON 赋值

    var personObj = [
        { "name": "neil", "age": "19", "gender": "male" },
        { "name": "jason", "age": "22", "gender": "male" },
        { "name": "susan", "age": "20", "gender": "famale" }
    ];
    
    var personName = personObj[0].name = "tessa";
    var personAge = personObj[0][age] = "22";
    

    七、JSON 循环对象

    • 使用 for-in 来循环对象的属性:
    var myObj = { "name":"runoob", "alexa":10000, "site":null };
    for (x in myObj) {
        document.getElementById("demo").innerHTML += x + "<br>";
    }
    
    • 在 for-in 循环对象的属性时,使用中括号"[ ]"来访问属性的值:
    var citys = [
        { "provice": "江苏省", "city": "徐州市", "district": "邳州市" },
        { "provice": "江苏省", "city": "南京市", "district": "鼓楼区" },
        { "provice": "安徽省", "city": "滁州市", "district": "南谯区" }
    ];
    
    for (x in citys) {
        document.getElementById("p1").innerHTML += citys[x].city + "</br>";
    }
    

    相关文章

      网友评论

          本文标题:No.20190829:JSON详解

          本文链接:https://www.haomeiwen.com/subject/wfhiectx.html