如何将 JSON 解析值保存到 ArduinoJson 中的数组
How to save JSON parsing values to an array in ArduinoJson
Arduino用户,请帮忙!嗨,大家好!例如,我有一个 JSON 文档用于解析 ArduinoJson:
{
"id": [
1,
7,
32,
9656
]
}
我需要保存 id 值,使它们看起来像:
ids[0] = 1,
ids[1] = 7,
ids[2] = 32等等。
现在我这样做了(我知道这是根本错误的,但我不知道怎么办):
我将跳过 link
请求的步骤
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
此外,问题是我事先不知道这个数组中有多少元素 - 这个文件在 phone 应用程序中定期编辑,我的 JSON 文档可以更改ID 的数量。现在有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
但这不适合,因为,同样,我事先不知道元素的数量
这是我在 Whosebug 上的第一个问题,如果我问错了,我很抱歉
它可以像这样使用:
JsonArray ids = doc["id"]
并在 ids[1]、ids[2] 和其他函数中使用它
Arduino用户,请帮忙!嗨,大家好!例如,我有一个 JSON 文档用于解析 ArduinoJson:
{
"id": [
1,
7,
32,
9656
]
}
我需要保存 id 值,使它们看起来像:
ids[0] = 1,
ids[1] = 7,
ids[2] = 32等等。
现在我这样做了(我知道这是根本错误的,但我不知道怎么办):
我将跳过 link
请求的步骤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
此外,问题是我事先不知道这个数组中有多少元素 - 这个文件在 phone 应用程序中定期编辑,我的 JSON 文档可以更改ID 的数量。现在有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
但这不适合,因为,同样,我事先不知道元素的数量
这是我在 Whosebug 上的第一个问题,如果我问错了,我很抱歉
它可以像这样使用:
JsonArray ids = doc["id"]
并在 ids[1]、ids[2] 和其他函数中使用它