NodeMCU-32S json解析
土豆 2022/10/25 esp32
# 解析对象
#include <ArduinoJson.h>
void setup()
{
Serial.begin(115200);
Serial.println("");
// DynamicJsonDocument对象
const size_t capacity = JSON_OBJECT_SIZE(2) + 30;
DynamicJsonDocument doc(capacity);
// 将解析的json文件
String json = "{\"name\":\"zs\",\"number\":1}";
// 反序列化数据
deserializeJson(doc, json);
// 获取解析后的数据信息
String nameStr = doc["name"].as<String>();
int numberInt = doc["number"].as<int>();
// 通过串口监视器输出解析后的数据信息
Serial.print("nameStr = ");
Serial.println(nameStr);
Serial.print("numberInt = ");
Serial.println(numberInt);
}
void loop()
{
}
# 解析数组
#include <ArduinoJson.h>
void setup()
{
Serial.begin(115200);
Serial.println("");
// DynamicJsonDocument对象
const size_t capacity = JSON_ARRAY_SIZE(2) + 2*JSON_OBJECT_SIZE(1) + 60;
DynamicJsonDocument doc(capacity);
// 将解析的json文件
String json = "[{\"name\":\"zs\"},{\"website\":\"www.baidu.com\"}]";
// 反序列化数据
deserializeJson(doc, json);
// 获取解析后的数据信息
String nameStr = doc[0]["name"].as<String>();
String websiteStr = doc[1]["website"].as<String>();
// 通过串口监视器输出解析后的数据信息
Serial.print("nameStr = ");
Serial.println(nameStr);
Serial.print("websiteStr = ");
Serial.println(websiteStr);
}
void loop()
{
}