Как сохранить значения парсинга JSON в массив в ArduinoJson

Ардуинщики, помогите пожалуйста! К примеру, у меня есть документ JSON для парсинга (либа ArduinoJson):

{
  "id": [
    1,
    7,
    32,
    9656
  ]
}

Мне нужно сохранить значения, чтобы они выглядели так:

ids[0] = 1,

ids[1] = 7,

ids[2] = 32 и так далее.

На данный момент делаю так (знаю, что это в корне неправильно, но иначе не знаю как):

Пропущу этап запроса по ссылке

char json[500];
  getids.toCharArray(json, 500);
  Serial.println(json);
  StaticJsonDocument <500> doc;
  DeserializationError err = deserializeJson(doc, json);

Затем просто пытаюсь присвоить значения массиву :

int ids[16] = {doc["id"]};

Но по факту, когда вывожу ids[0], то получаю 0 Также проблема в том, что я заранее не знаю, сколько элементов будет в этом массиве - этот файл регулярно редактируется в приложении на телефон, и в файле JSON может меняться количество этих айди. Сейчас их 4, но это в качестве примера, т.к. их количество неизвестно, что заставляет сделать динамический массив, а не задавать его самому, как я задал (16)

ArduinoJSON ассистент предлагает такой вариант:

JsonArray id = doc["id"];
int id_0 = id[0]; // 1
int id_1 = id[1]; // 7
int id_2 = id[2]; // 1337
int id_3 = id[3]; // 9656

Но это не то, ведь, повторюсь, я не знаю количество элементов заранее.

Это мой первый вопрос на Stackoverflow, поэтому извините, если я задал его неправильно


Ответы (1 шт):

Автор решения: Артём Госман

Всё гораздо проще, можно просто использовать

JsonArray ids = doc["id"];

и использовать внутри функций как ids[1]

→ Ссылка