标签:freewebsys obj ESP8266 arduino doc 序列化 sensor String
目录
前言
相关arduino 全部分类:
https://blog.csdn.net/freewebsys/category_8799254.html
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104190356
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
1,关于arduino Json
项目地址:
https://github.com/bblanchon/ArduinoJson
里面封装了,Json 相关的使用方法,对于数据上报帮助非常大。
同时对于数据解析作用也特别大。
2,使用
直接克隆项目代码到 libraries 就行。然后重启 arduino IDE 就可以使用了。
#include <ArduinoJson.h>
void setup() {
Serial.begin(9600);
DynamicJsonDocument doc(1024);
// WARNING: the string in the input will be duplicated in the JsonDocument.
String input = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
deserializeJson(doc, input);
JsonObject obj = doc.as<JsonObject>();
// You can use a String to get an element of a JsonObject
// No duplication is done.
long time = obj[String("time")];
String sensor = obj["sensor"];
double latitude = doc["data"][0];
double longitude = doc["data"][1];
// Print values.
Serial.println(sensor);
Serial.println(time);
Serial.println(latitude, 6);
Serial.println(longitude, 6);
obj["sensor"] = "new gps";
obj["code"] = 200;
// Lastly, you can print the resulting JSON to a String
String output;
serializeJson(doc, output);
Serial.println(output);
}
void loop() {
// not used in this example
}
deserializeJson(doc, input); 反序列化, serializeJson(doc, output); 将object 对象转换成 string。
和 java 的fastjson 类似。
DynamicJsonDocument doc(1024); JsonObject obj = doc.as();
创建了一个动态json。然后设置属性。
在ESP8266 上面运行效果:
1351824120
48.756081
2.302038
{"sensor":"new gps","time":1351824120,"data":[48.75608,2.302038],"code":200}
3,总结
arduino 现在已经非常的成熟了,是一个非常成熟的解决方案了。
JSON 也是常用的lib 库,可以进行json的序列化,和转换做数据通讯了。
无论是 使用 rest mqtt socket 的时候都是需要和服务端进行数据通讯的。
使用起来也特别的方便。
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104190356
博主地址是:https://blog.csdn.net/freewebsys
标签:freewebsys,obj,ESP8266,arduino,doc,序列化,sensor,String 来源: https://blog.csdn.net/freewebsys/article/details/104190356
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。