ESP8266 Arduino开发之路(10)— JSON基础
一、前言
JSON(JavaScript Object Notation) 是一种通用的轻量级数据交换文本格式。它很容易让人阅读和编写,也便于机器进行解析和生成。它使用JavaScript语法来存储和描述数据对象,但是JSON完全独立于JavaScript。JSON可适用于多种流行编程语言。这些特性使JSON成为理想的数据交换格式。
参考自:JSON基础
二、JSON数据组成
JSON数据是以“名”“值”对呈现的,数据中名
和值
由冒号分隔。
JSON数据的书写格式如下所示,我们可以看到,JSON数据名
需要放在双引号中,而JSON数据值
可以有多种类型,
“JSON数据名”:JSON数据值
三、JSON数据值
JSON数据值可以是以下内容:
1. 数字(整数或浮点数)
2. 字符串
3. 逻辑值(true 或 false)
4. 对象(在大括号中)
5. 数组(在中括号中)
6. null
需要注意的是,一个JSON数据名
只能对应一个值
。
1、数字
JSON数据值为数字时,数字可以为整数或浮点数,注意数字不可以放在双引号中。
"day":7,
"month":12,
"year":2021,
"temperature":37.5,
"humidity":60.8
2、字符串
当JSON数据值为数字符串时,需要将字符串写在双引号中。
"name":"william",
"city":"heifei",
"country":"China"
3、逻辑值
JSON数据值为逻辑值,只有true
和false
两个。
"man":true,
"woman":false
4、JSON对象
我们将JSON数据“名”“值”对用大括号括起来后就得到了一个JSON对象,对象可以包含单个或者多个JSON数据,同样这个对象也可以作为数据值。
"who":{
"name":"william",
"city":"heifei",
"country":"China"
}
5、数组
JSON数据值为数组时,需要写在中括号中,
"arr":[1, 2, 3, 4, 5]
其中,数字也可以由JSON对象组成
"arr":[
{"name":"william"},
{"city":"heifei"},
{"country":"China"},
{"man":true}
]
6、null
null就代表这个数据名的数据值是为空的,是没有的
"wife":null
四、JSON 对象
JSON对象在大括号{}中书写,对象可以包含单个或者多个JSON数据。
对象(object) 是一个无序的数据集合(“‘名/值’对”集合)。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名/值’ 对”之间使用“,”(逗号)分隔。