问题描述
我有一个要填充Arduinojson库的JSON文件中的数据的结构。填充trackCount没问题。填充tracks []数组是我所坚持的。 结构:
struct AudioObject {
byte trackCount;
const char* tracks[];};
在setup()中:
AudioObject aO;
getAudioObject(jsonConfigFilename,&foo,&aO);
在函数getAudioObject(const char * pConfigFilename,const String * paoID,AudioObject * aO):
File configFile = SD.open(pConfigFilename);
DynamicJsonDocument configDoc(4096);
DeserializationError error = deserializeJson(configDoc,configFile);
JsonArray arAudio= configDoc["toc"]["audioObject"];
for(JsonObject audioObject: arAudio) {
if(audioObject["audioId"]==*paoID){
//Found Audio ID Creating Object
aO->trackCount=(byte)audioObject["trackCount"];
//Now,lets get the Filenames
JsonArray arAudioTracks = audioObject["tracks"];
Serial.println (aO->trackCount);
//copy the Jsonarray to the AudioObject Array
copyArray(arAudioTracks,aO->tracks); // <---does not work
configDoc.clear();
configFile.close();
return true;
我在做什么错?我只希望aO-> tracks包含存储在jsonArray中的轨道。内容是:[“ filename1.mp3”,“ filename2.mp3”,...]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)