ESP8266 学习 十一 ESP8266 JSON解析

  • 解析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指令以外还使用&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值