Json数据格式(*)

1、什么是Json

百度百科:

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

(1)JSON是用于存储和传输数据的一种数据格式
(2)JSON 是要结合 Ajax(异步请求) 使用的,
(3)在后端一般会将一个对象转换成 JSON 格式的数据之后返回给客户端,可以自己写工具转换, 也可以使用第三方工具 : jackson、gson、fastjson 等。

2、Json的特点

(1)JSON 是纯文本(字符串)
(2)JSON 具有"自我描述性"(人类可读)
(3)JSON 具有层级结构(值中存在值)
(4)JSON 可通过 JavaScript 进行解析
(5)JSON 数据可使用 AJAX 进行传输

3、JSON的语法

(1)数据在 名称/值 对中
(2)数据由逗号分隔
(3)大括号 {} 保存对象
(4)中括号 [] 保存数组,数组可以包含多个对象
(5)JSON 规定字符集是UTF-8,字符串必须使用双引号"",Object 的键也必须使用双引号""
(6)数组或对象的最后一个成员,不能加逗号
(7)JSON键值对的 值在有些情况下不需要加引号,例如:
—— 数字
—— 布尔值 true/false
—— null
—— {}
—— []
示例:

{
  "status": "0000",
  "state": 200,
  "message": "success",
  "test": true,
  "test2": null,
  "data": {
    "title": {
      "id": "001",
      "name": "白菜"
    },
    "content": [
      {
        "id": "001",
        "value": "你好 白菜"
      },
      {
        "id": "002",
        "value": "你好 萝卜"
      }
    ]
  }
}

4.JSON对象

{ “name”:“runoob”, “alexa”:10000, “site”:null}
JSON 对象在大括号{}中书写。 对象可以包含多个 key/value(键/值)对。key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。key 和 value 中使用冒号(:)分割。每个 key/value 对使用逗号(,)分割。

myObj = {
  "name":"runoob",
  "alexa":10000,
  "sites": {
    "site1":"www.runoob.com",
    "site2":"m.runoob.com",
    "site3":"c.runoob.com"
  }
}

5、JSON数组

[ “Google”, “Runoob”, “Taobao”]
JSON 数组在中括号中书写。JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined。

{
"name":"网站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao"]
}
myObj = {
  "name":"网站",
  "num":3,
  "sites": [
    { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译"] },
    { "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信"] },
    { "name":"Taobao", "info":[ "淘宝", "网购"] }
  ]
}

6、JSON对象和JSON数据的嵌套

(1)一个JSON对象中可以嵌套一个或多个JSON数组
(2)一个JSON数组中也可以嵌套一个或多个JSON对象
(3)JSON对象或JSON数组中也可以嵌套一个或多个“自己”

{
  "name": "yinghui",
  "age": 20,
  "man": true,
  "money": null,
  "data1": {
      "d1": [1,2,3],
      "d2": [2,3,4]
  },
  "data2": {
      "d3": 100,
      "d4": 200
  },
  "data3": [
      {
        "d5": 300,
        "d6": 400
      },
      {
        "d7": 500,
        "d8": 600
      }
  ],
  "data4": [
    [4,5,6],
    ["hello","world"],
    ["000",true,null]
  ]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Firm陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值