我无法从以下 json 中的“prefs”获取键(和值)。
{
"cmd": "set",
"prefs": [
{
"coins": 4
},
{
"enable": true
}
]
}
处理json的代码:
DynamicJsonDocument doc(1024);
deserializeJson(doc,"{\"cmd\":\"set\",\"prefs\":[{\"coins\":4},{\"enable\":true}]}");
JsonObject root=doc.as<JsonObject>();
for (JsonPair kv : root) {
Serial.println(kv.key().c_str());
Serial.println(kv.value().as<char*>());
}
JsonObject prefs=doc["prefs"];
for (JsonPair kv : prefs) {
Serial.println("here\n");
Serial.println(kv.key().c_str());
// Serial.println(kv.value().as<const char*>());
}
我希望看到以下输出:
cmd
set
prefs
coins
enable
但我只得到似乎是一个空prefs
对象:
cmd
set
prefs
官方文档中显示的示例几乎可以让我到达那里,这就是我的代码中的内容。来自 github的这个例子是相似的,但我似乎无法适应我的情况。