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