json

作者: meijer | 来源:发表于2018-06-01 08:45 被阅读12次

    JavaScript的延伸,可通过eval()处理JSON字符串;
    数据传输快,网络占用小;

    语法

    对象

    • JSON对象在{}中书写;
    • 对象可以包含多个key:value
    • key必须是字符串,value可以使合法的JSON数据类型,(串、数字、对象、数组、布尔或null)
    • key使用:分割;
    • 每个key/value使用逗号(,)分割;
      数组
    {
    "sites": [
    { "name":"github" , "url":"www.github.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"微博" , "url":"www.weibo.com" }
    ]
    }
    

    对象数组

    var sites = [
        { "name":"github" , "url":"www.github.com" }, 
        { "name":"google" , "url":"www.google.com" }, 
        { "name":"微博" , "url":"www.weibo.com" }
    ];
    

    *访问:sites[0].name;——>github
    *修改数据:sites[0].name="blog";
    文件类型

    • JSON 文件的文件类型是 ".json"
    • JSON 文本的 MIME 类型(描述消息内容类型的因特网标准)是"application/json"
      访问
    • 访问对象
      对象.key或者对象[key]
    • 访问数组
      myObj.sites[0]
    • 循环对象
      for in
    for (x in myObj) {
        document.getElementById("demo").innerHTML += x + "<br>";
    }
    
    • 嵌套JSON对象
      使用点号(.)或者中括号([])来访问嵌套的 JSON 对象

    x = myObj.sites.site1;
    // 或者
    x = myObj.sites["site1"];

    • 修改JSON值
      myObj.sites.site1 = "www.google.com";
    • 删除JSON值
      delete myObj.sites.site1;

    数组

    语法:

    []中书写,其包含合法的JSON数据类型(字符串、数字、对象、数组、布尔、null)其中还可以是JS表达式函数、日期、(未定义)undefined

    • 对象中的数组
    <p id="demo"></p>
    <script>
    var myObj, x;
    myObj = {
        "name":"网站",
        "num":3,
        "sites":[ "Google", "Runoob", "Taobao" ]
    }
    x = myObj.sites[1];
    document.getElementById("demo").innerHTML = x;
    </script>
    
    • 循环数组
    myObj = {
        "name":"网站",
        "num":3,
        "sites":[ "Google", "Runoob", "Taobao" ]
    }
    for (i in myObj.sites) {
        x += myObj.sites[i] + "<br>";
    }
    document.getElementById("demo").innerHTML = x ;
    

    或者

    for (i = 0; i < myObj.sites.length; i++) {
        x += myObj.sites[i] + "<br>";
    }
    
    • 嵌套 JSON 对象中的数组
    myObj = {
        "name":"网站",
        "num":3,
        "sites": [
            { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
            { "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },
            { "name":"Taobao", "info":[ "淘宝", "网购" ] }
        ]
    }
    

    遍历

    for (i in myObj.sites) {
        x += "<h1>" + myObj.sites[i].name + "</h1>";
        for (j in myObj.sites[i].info) {
            x += myObj.sites[i].info[j] + "<br>";
        }
    }
    

    相关文章

      网友评论

          本文标题:json

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