• JSON


    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#Java、JavaScript、PerlPython等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

    JSON 语法

    JSON 语法规则

    JSON 语法是 JavaScript 对象表示语法的子集。
    • 数据在键值对中
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组
     

    JSON 名称/值对

    JSON 数据的书写格式是:名称/值对。
    名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
    1
    "firstName":"John"
    这很容易理解,等价于这条 JavaScript 语句:
    1
    firstName="John"

    JSON 值

    JSON 值可以是:

    基础结构

    JSON结构有两种结构:
    json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。
    1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
    2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
    经过对象、数组2种结构就可以组合成复杂的数据结构了。
     
     

    具体形式

    1、对象是一个无序的“‘名称/值’对”集合。
    (1)一个对象以“{”(左括号)开始,“}”(右括号)结束。
    (2)每个“名称”后跟一个“:”(冒号);
    (3)“‘名称/值’ 对”之间使用“,”(逗号)分隔。(如图所示,图中表示数据的方式是类似非确定性自动机的形式,没学过编译原理的人,可能理解起来困难点,实际上也是正则表达式的形式。下同)
     
     
    例子:表示人的一个对象:
    1
    2
    3
    4
    {
        "姓名":"大憨",
        "年龄":24
    }
    2、数组是值(value)的有序集合。
    (1)一个数组以“[”(左中括号)开始,“]”(右中括号)结束。
    (2)值之间使用“,”(逗号)分隔。
    例子:一组学生
    1
    2
    3
    4
    5
    6
    {
        "学生": [
            {"姓名":"小明","年龄":23},
            {"姓名":"大憨","年龄":24}
        ]
    }
    说明:此Json对象包括了一个学生数组,而学生数组中的值又是两个Json对象。
     
     
    3、值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
     
    4、字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。 字符串(string)与C或者Java的字符串非常相似。
     
    5、数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
     
  • 相关阅读:
    JavaScript类型转换
    JavaScript中的 typeof,null,和undefined
    JavaScript循环
    JavaScript条件语句
    JavaScript运算符
    JavaScript字符串
    JavaScript事件
    JavaScript对象,函数,作用域
    JavaScript基础
    数值数据的特征预处理
  • 原文地址:https://www.cnblogs.com/cycanfly/p/5583860.html
Copyright © 2020-2023  润新知