Json daten auslesen

Hallo,

vorsicht ich bin blutiger Anfänger und stehe gerade mächtig auf dem Schlauch bzw. finde wohl nicht den richtigen begriff, um das Problem selber zu lösen.

Ich habe folgendes code Fragment:

for (JsonPair runtime_item : doc["runtime"].as<JsonObject>()) {
  const char* runtime_item_key = runtime_item.key().c_str(); // "total", "session"

  runtime_item_value_operate = runtime_item.value()["operate"]; // 58330, 583
  runtime_item_value_charge = runtime_item.value()["charge"]; // 21232, 223

}

Wenn ich nicht falsch liege, sollte in der Variable runtime_item_value_operate & runtime_item_value_charge jeweils zwei Werte enthalten. Nur wie kann ich diese wieder auslesen?
Dasselbe Problem habe ich auch bei diesem code:

for (JsonObject lightning : doc["lightnings"].as<JsonArray>()) {

  int lightning_age = lightning["age"]; // 6, 9, 11, 13, 13, 14, 71, 75, 81, 108
  int lightning_energy = lightning["energy"]; // 5191, 4855, 4838, 6432, 5650, 4819, 4078, 3532, 5875, ...
  int lightning_distance = lightning["distance"]; // 27, 27, 27, 27, 27, 27, 27, 27, 27, 31

}

Ich würde mich sehr freuen, wenn mich hier jemand von meinem Schlauch runterschubsen könnte.

LG

Andy

was meinen Sie genau?
(Im zweiten Fall haben Sie lokale Variablen, sodass sie außerhalb der for-Schleife nicht einmal existieren)

Rechtschreibung überprüfen:

doc["lightnings"]

Hallo,
in der Regel hilft ein Beispiel aus der verwendeten Lib weiter. Welche lib hast Du denn verwendet.

Hallo,

danke für euer Feedback! Ich bin wohl wieder in die Falle getreten, dass Variablen nach der Schleife verworfen werden, und dies hat mich glauben lassen, dass ich einen "Speziellen" Funktionsaufruf benötige, um wieder an die Daten heranzukommen. Bei der verwendeten Library handelt es sich um ArduinoJson V6. Ich habs jetzt erstmalmit einem Array gelöst welches die daten bekommt welche ich benötige :wink:

lg

Andy

Hallo,
dann konntest Du Dir das Beispiel JsonParserExample aus der Lib ansehen.

Heinz

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.