如何解决将jsonarray复制到char * []
我有一个要填充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 举报,一经查实,本站将立刻删除。