JSON基本知识

最近在动手写一个S2SH结合EasyUI的一个网站,其中用到了EasyUI的Datagrid组件。在后台和前台交互与数据传输的过程中,

数据传输的格式是JSON。之前只对JSON有一个简单了解,下面就从语法等多方面做一下稍微深入点的学习。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON采用完全独立于语言的文本格式,易于人阅读和编

写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

一、格式介绍

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

1、数据在键值对中

2、数据由逗号分开

3、花括号保存对象

4、方括号保存数组

JSON的格式是键值对的形式,例如:    “键名”:“值”。     其中,JSON的值可以为①数字②字符串③逻辑值④数组[在方括号中]

⑤对象{在花括号中}⑥null


实例1:

{
    "people":[
        {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"},
        {"firstName":"Jason","lastName":"Hunter","email":"bbbb"},
        {"firstName":"Elliotte","lastName":"Harold","email":"cccc"}
    ]
}
上例只有一个名为people的变量,它的值是一个含有三个对象的数组,每个对象中又包含三个条目。


实例2:

{
    "programmers": [{
        "firstName": "Brett",
        "lastName": "McLaughlin",
        "email": "aaaa"
    }, {
        "firstName": "Jason",
        "lastName": "Hunter",
        "email": "bbbb"
    }, {
        "firstName": "Elliotte",
        "lastName": "Harold",
        "email": "cccc"
    }],
    "authors": [{
        "firstName": "Isaac",
        "lastName": "Asimov",
        "genre": "sciencefiction"
    }, {
        "firstName": "Tad",
        "lastName": "Williams",
        "genre": "fantasy"
    }, {
        "firstName": "Frank",
        "lastName": "Peretti",
        "genre": "christianfiction"
    }],
    "musicians": [{
        "firstName": "Eric",
        "lastName": "Clapton",
        "instrument": "guitar"
    }, {
        "firstName": "Sergei",
        "lastName": "Rachmaninoff",
        "instrument": "piano"
    }]
}
上例中多个条目中又包含多个条目,而且在每个一级条目下,可以包含不同的次级条目。


实例3:

{  
  id: '100000',  
  text: '廊坊银行总行',  
  children: [  
    {  
      id: '110000',  
      text: 'A',  
      children: [  
        {  
          id: '113000',  
          text: 'A1',  
          leaf: true  
        },  
        {  
          id: '112000',  
          text: 'A2',  
          children: [  
            {  
              id: '112200',  
              text: 'A11',  
              leaf: true  
            },  
            {  
              id: '112100',  
              text: 'A12',  
              leaf: true  
            }  
          ]  
        },  
        {  
          id: '111000',  
          text: 'A3',  
          leaf: true  
        }  
      ]  
    }  
  ]  
}  
上述是一个非常典型的JSON嵌套结构,同时也是一个树形结构。


二、格式应用

JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

例如可以直接创建一个JavaScript变量,将JSON赋值给它。

var people = {
    "programmers": [{
        "firstName": "Brett",
        "lastName": "McLaughlin",
        "email": "aaaa"
    }, {
        "firstName": "Jason",
        "lastName": "Hunter",
        "email": "bbbb"
    }, {
        "firstName": "Elliotte",
        "lastName": "Harold",
        "email": "cccc"
    }],
    "authors": [{
        "firstName": "Isaac",
        "lastName": "Asimov",
        "genre": "sciencefiction"
    }, {
        "firstName": "Tad",
        "lastName": "Williams",
        "genre": "fantasy"
    }, {
        "firstName": "Frank",
        "lastName": "Peretti",
        "genre": "christianfiction"
    }],
    "musicians": [{
        "firstName": "Eric",
        "lastName": "Clapton",
        "instrument": "guitar"
    }, {
        "firstName": "Sergei",
        "lastName": "Rachmaninoff",
        "instrument": "piano"
    }]
};
访问数据也很简单,因为可以将上面变量的值看做数组,可以用点号表示法来表示数组元素,所以基本的访问方式如下:

people.musicians[0].lastName

修改数据的方式即赋值给上述表达式即可,例如:

people.musicians[0].lastName = “stupid”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值