Json

作者: 全满 | 来源:发表于2018-03-14 22:17 被阅读0次

    Json语法

    • 数据使用名:值对表示
    • 使用{}保存对象,每个名称后面跟着一个‘:’(冒号),名/值对使用,(逗号)分割
    • 使用【】保存数组,数组值使用,(逗号)分割。
    • 简单例子
    {
      "book" : [
                            {
                                    "id" : "01",
                                    "language" : "java",
                                    "edition" : "third"
                            },
                            {
                                    "id" : "02",
                                    "language" : "c++",
                                    "edition" : "sencond"
                            } ]               
    }
    
    • Json支持一下两种数据结构

    名/值对集合:这一数据结构由不同的编程语言支持
    有序的值列表:包括数组、列表、向量或序列等等。

    Json的语法规则

    Json语法是JavaScript对象表示法语法的子集
    Json语法规则不复杂,它参考了C语言家族的一些习惯,学习起来并不感到陌生。

    • 数据在 名称/值对中
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组
    • 书写格式

    名称:值对
    注意:
    名称:值对包括字段名称(在双引号中),后面写一个冒号,然后就是值
    例:
    "firstName" : "Json"

    Json的值

    可以是:

    • 数字(整数或浮点数)
    • 字符串(在双引号中)
    • 逻辑值(true或false)
    • 数组(在方括号中)
    • 对象(在花括号中)
    • null

    Json对象

    • Json对象在花括号中书写
    • 对象可以包含多个名称 / 值对
      例如:
    {
    "firstName" : "JavaScript" , "lastName" : "Json"
    }
    

    Json数组

    • Json数组在方括号中书写:
    • 数组可以包含多个对象:
    {
    "employees" : [
      {
      "firstName" : "John" , "lastName" : "Doe"
      },
      {
    "firstName" : "Anna" , "lastName" : "Smith"
      }]
    }
    

    上面的例子中,对象employees是包含了两个对象的数组,每一个对象代表一条关于某人(有名和姓)的记录

    Json使用JavaScript语法

    因为Json使用JavaScript语法,所以无需额外的软件就能处理JavaScript中的Json

    var employees = [
      {
      "firstName" : "John" , "lastName" : "Doe"
      },
      {
    "firstName" : "Anna" , "lastName" : "Smith"
      }
    ];
    
    • 访问如下:
    employees[0].lastName;
    
    • 修改如下:
    employees[0].lastName = "Jonse";
    

    Json使用

    Json经常应用到的场景是:
    在后台应用程序中将响应数据封装成Json格式,传到前台之后,需要将Json格式转换为JavaScript对象,然后再网页中使用该数据。

    把Json文本转换为JavaScript对象

    Json最常见的用法之一,是从web服务器上读取Json数据(作为文件或作为HttpRequest),将Json数据转换为JavaScript对象,然后再网页上使用该数据。

    • 创建包含Json语法的JavaScript字符串
    var txt = '{
    "employees" : [ ' +
    ' { "firstName" : "John" ,
    "lastName" : "Anna"
    },' + 
    '{ "firstName" : "Smith" ,
    "lastName" : "Peter" 
    }
    ]
    }'
    

    由于Json是JavaScript语法的子集,JavaScript函数eval()可用于将Json文本转换为JavaScript对象。
    eval()函数使用的是JavaScript编译器,可解析Json文本,然后生成JavaScript对象,必须把文本包围在括号中,这样才能避免语法错误。
    var obj = eval (" ( " + txt +" ) ");
    在网页中使用JavaScript对象:

    <p>
      firstName : <span id = "fname"></span><br />
    lastName : <span id = "lname"></span><br />
    </p>
    <script>
    document.getElementById("fname").innerHTML = obj.employees[1].firstName
    document.getElementById("lname").innerHTML = obj.employees[1].lastName
    </script>
    

    相关文章

      网友评论

          本文标题:Json

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