esp8266如何玩转arduionjson新版v6 json在线解析序列化与反序列化(太极创客学习者)
问题源于太极创客视频所教程里面的json网站版本是之前的,现在版本已经更新有所改变。
太极创客学习网址:https://www.bilibili.com/video/BV1L7411c7jw?spm_id_from=333.999.0.0
首先打开官网地址:https://arduinojson.org/
先选择v6
然后选择需要的类型这里我用的是esp8266
我们先来讲反序列化,选择反序列化,以及流输出
这里我用的是太极创客学习时用到的json
解析好的json就出来了
然后呢还是需要做一些小小的改动,往下看
回到V5版本;把我们想要的拿过来
接下来就是完整的解析啦,输出的内容是Beijing
#include <ArduinoJson.h>
void setup() {Serial.begin(9600);const char* json = "{\"results\":[{\"location\":{\"name\":\"Beijing\",\"country\":\"CN\"},\"now\":{\"text\":\"Clear\",\"code\":\"1\",\"temperature\":\"3\"},\"last_update\":\"2020-03-01T20:10:00+08:00\"}]}";StaticJsonDocument<384> doc;DeserializationError error = deserializeJson(doc, json);if (error) {Serial.print(F("deserializeJson() failed: "));Serial.println(error.f_str());return;}JsonObject results_0 = doc["results"][0];const char* results_0_location_name = results_0["location"]["name"]; // "Beijing"const char* results_0_location_country = results_0["location"]["country"]; // "CN"JsonObject results_0_now = results_0["now"];const char* results_0_now_text = results_0_now["text"]; // "Clear"const char* results_0_now_code = results_0_now["code"]; // "1"const char* results_0_now_temperature = results_0_now["temperature"]; // "3"const char* results_0_last_update = results_0["last_update"]; // "2020-03-01T20:10:00+08:00"String location_name=results_0["location"]["name"].as<String>();Serial.println(location_name);
}void loop() {// put your main code here, to run repeatedly:}
然后就到太极创客视频里面的3-12小节里面的json序列化操作
首先回到V6界面 ,如图所示
以上操作和反序列化一模一样,然后就复制到arduino IDE中,还需要做一些小小的改动,就是把固定数值改变为可变的。
String rootJson(){StaticJsonDocument<256> doc;JsonObject info = doc.createNestedObject("info");info["name"] = "taichimaker";info["url"] = "www.taichi-maker.com";info["email"] = "taichimaker@163.com";JsonObject digital_pin = doc.createNestedObject("digital_pin");digital_pin["d1"] = String(digitalRead(D1));digital_pin["d2"] = String(digitalRead(D2));digital_pin["d3"] = String(digitalRead(D3));doc["analog_pin"]["a0"] = String(analogRead(A0));String jsonCode;serializeJson(doc, jsonCode);return jsonCode;
}
以上便是今天我在学习上遇到的问题啦,
关注我,后续学习遇到的问题我来为你一一解答。
esp8266如何玩转arduionjson新版v6 json在线解析序列化与反序列化(太极创客学习者)相关推荐
- 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性...
使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. 解决办法是在web.config增加如下节点到& ...
- json在线解析工具大集合
** json在线解析工具大集合 ** http://json.jsrun.net JSRUN推出的JSON视图工具,简洁易用,清晰明了. 可能是国内最好用的JSON工具了. http://jsonv ...
- Json数据的序列化与反序列化的三种常用方法介绍
以下内容是本作者从官网中看相应的教程后所做的demo,其体现了作者对相关知识点的个人理解..作者才疏学浅,难免会有理解不到位的地方..还请各位读者批判性对待... 本文主要介绍在Json数 ...
- json在线解析工具json formatter and json parser online
json在线解析工具json formatter and json parser online, 推荐工具http://www.bestjson.com
- Json Parser Online - Json 在线解析工具 1
Json Parser Online - Json 在线解析工具 1 http://json.parser.online.fr/ References https://yongqiang.blog.c ...
- json在线解析功能代码实现
文章目录 json在线解析功能代码实现 jsp部分 js部分 css部分 最终效果 json在线解析功能代码实现 当在查看一些原始报文数据时,需要美化展示原始报文json,这时需要使用css进行相应排 ...
- 【ESP8266教程】零基础入门学用物联网-基础知识篇(太极创客团队)学习笔记
前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容. 提示:以下是本篇文章正文内容, ...
- c 语言 json序列化,C#中json字符串的序列化和反序列化 – 万能的聪哥 – 博客园...
今日写番茄闹钟程序,打算添加日程安排内容,使用到json格式文件的序列化和反序列化: 什么是Json ? Json[ 它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它, 并且它很容易被计算机 ...
- json,pickle,shelve序列化和反序列化
1.简介 ● json:用于字符串 和 python简单数据类型(list,dict...)间进行转换:字符串<--->python简单数据类型 ● pickle:用于python特有 ...
最新文章
- 欧洲超高速网比宽带快万倍 几秒下载一部电影
- heartbeat+drbd+mysql:实现最廉价的高可用组合
- c语言递归最小值,递归求最大最小值算法 分治策略(c语言实现)
- 小学计算机打字基础知识,浅谈小学计算机教学技巧5篇
- 部分排序算法c语言实现
- 死锁的代码产生及必要条件与预防
- 【Vue2.0】— TodoList案例(十七)
- C# 微信服务号模板消息中如何换行
- 博文视点大讲堂 37 期——It's Android Time :程序员创富有道!圆满结束
- Linux下读写UART串口的代码
- java基础杂谈(三)
- openstack学习之路-python运维(user)
- IT6302 电源后面板的 DB9 接口输出为 TTL 电平,您需要通过附件电平转换后才可连接到 PC 机的串口上
- 邮件中的抄送和密送的区别
- PWN mistake [pwnable.kr]CTF writeup题解系列8
- Unity TextMesh Pro 不显示中文 ???
- Python面试简历工作描述写法总结
- 如何免费破解安装正版Adobe Photoshop CC2017
- CSS实现反方向圆角
- revit图纸导出dxf文件批量修改