我想从SD卡中读取JSON格式,但是每个长度都不一样。并读取度固定行或指定从某行开始,转换为NEW JSON struct。
我应该怎么做?
文件内容:
{"DeviceID":"ESP8266","Data":{"Serial":0,"Temp":26,"Hum":32,"
time":"082855"}}
{"DeviceID":" ESP8266","Data":{"Serial":1,"Temp":NULL,"Hum":NULL,"Time":":082955"}}
{"DeviceID":"ESP8266","Data":{ "Serial":2,"Temp":25.5,"Hum":32.6,"Time":"083055"}}
{"DeviceID":"ESP8266","Data":{"
{"DeviceID":"ESP8266","Data":{"Serial":6,"Temp":25.3,"Hum":29.6,"Time":"083655"}}
步骤:
1.从 SD 读取 JSON 文件卡片。
2.一次读取一行,转换完成后读取下一行。示例:我第一次读取 1 到 5 行,下次读取 6 到 10 行的数据。
3.像这样的新 JSON 结构:
代码:
#include "SD.h"
#include "FS.h"
#define SD_CS 15
StaticJsonDocument <1024> doc;
归档我的文件;
void loadData(){
File file = SD.open("myTest.txt", FILE_READ);
DeserializationError error = deserializeJson(doc, file);
如果(错误)
Serial.println(F(“
序列号.begin(115200);
序列号.println();
序列号.println();
Serial.printf("SD 卡开始...n");
if (!SD.begin(SD_CS)){
Serial.printf("SD 卡安装失败...n");
}
else{
Serial.printf("SD卡已经...n");
}
Serial.println();
加载数据();
}
无效循环(){
}