ESP8266 Arduino开发之路(10)— JSON基础

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数据值为逻辑值,只有truefalse两个。

"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) 是一个无序的数据集合(“‘名/值’对”集合)。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名/值’ 对”之间使用“,”(逗号)分隔。

上一篇:ESP32cam蓝牙模块与arduino uno通信实验


下一篇:windows Arduino marlin 2.x 编译问题