- 解析JSON格式信息是一个较为繁琐的工作,因此我们将借助解析Arduino – ESP8266平台中解析JSON格式信息的第三方库——ArduionJson库。该库是目前最受好评的解析JSON信息第三方库。其基本信息如下:
- 官网:ArduinoJson: Efficient JSON serialization for embedded C++
- ArduinoJSON – JSON解析 百度云盘下载 (提取码:aayu) GitHub
- 下载完之后 导入库 zip库
- 网上有很多网页JSON工具供我们使用。这里我们推荐您我们使用多年的oktools.net网站JSON在线工具。您可以使用该工具解析JSON文件,也可以用它来验证编写的JSON是否符合语法规则。 如图就可以查看json解析结果
- 如图解析结果可以看见 包含一个对象object 一个名值对 results 0{3}就是说 0号数组里有3个对象(名值对) 接下来就是 对3个名值对的具体内容解析
- 单一对象解析:在以下示例中,您将会看到如何使用ESP8266配合ArduinoJson库来解析只有一个对象的简单JSON信息。该信息如下
- 代码:
重点1: 建立了DynamicJsonDocument doc(capacity); 名为doc的对象,然后定义一个参数 capacity 来定义尺寸大小 因为该库是基于c++的 因此只要是c++的都可以用此库进行JSON 解析 size_t 相当于无符号长整型变量。可以存出32位数据。unsigned long 因为json解析的时候是要在内存里开辟一段空间的 因此在解析之前就要先确定解析文件的尺寸 也就是文件大小。 参数2为有两个名值对的JSON对象。 后面的30是留下的内存余量 就例如下面这个例子:
- 以上JSON对象中包含有3个数据。在计算解析它所需要占用的内存大小时,我们将要使用语句:const size_t capacity = JSON_OBJECT_SIZE(3) + 60;
- 讲到这里可能细心的朋友已经发现了,在以上语句中除了JSON_OBJECT_SIZE指令以外还使用&
- 代码:
- 单一对象解析:在以下示例中,您将会看到如何使用ESP8266配合ArduinoJson库来解析只有一个对象的简单JSON信息。该信息如下
ESP8266 学习 十一 ESP8266 JSON解析
最新推荐文章于 2024-12-15 13:00:50 发布