1

Arduinojson ライブラリを使用して JSON ファイルからデータを入力したい構造体があります。trackCount を埋めることは問題ありません。トラック[]配列を埋めることは、私が立ち往生した場所です。構造:

struct AudioObject {
 byte trackCount;
 const char* tracks[];};

セットアップ()で:

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",...]

4

0 に答える 0