将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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...