JSONPATH und ein device mit Punkt

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
iTob
Beiträge: 51
Registriert: 8. Mär 2020 19:58
Answers: 0

JSONPATH und ein device mit Punkt

Beitrag von iTob »

Hallo,
ich frage einen Wert beim BSB-LAN per json ab.
mit

Code: Alles auswählen

httpcode = sendHttpGetRequest("http://192.168.14.61/JQ=20101.1")
erhalt ich den json code:

Code: Alles auswählen

{
  "20101.1": {
    "name": "DHT22 Sensor Temperatur #2",
    "dataType_name": "TEMP",
    "dataType_family": "VALS",
    "destination": 0,
    "error": 261,
    "value": "---",
    "desc": "",
    "payload": "0005590104101126000077000000550056FAD3000000000000000000000000000002",
    "precision": 0.1,
    "dataType": 0,
    "readwrite": 1,
    "unit": "°C"
  }
}
nun will ich da value abfragen und habe ein Problem mit dem Punkt im device 20101.1

Ein:

Code: Alles auswählen

val newValue = transform("JSONPATH", "$.\"20101.1\".value", httpcode)
oder

Code: Alles auswählen

val newValue = transform("JSONPATH", "$.'20101.1'.value", httpcode)
funktioniert nicht.
Wie sieht hier der korrekte JSONPath aus?

VG, Tobias

Harka
Beiträge: 588
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: JSONPATH und ein device mit Punkt

Beitrag von Harka »

Moin,
wenn 20101.1 der einzige Zwischenpunkt ist kannst Du ihn einfach überspringen. Versuch mal '$.*.value' oder '$..value'
Ansonsten sollte $['20101.1']value auch gehen
https://github.com/json-path/JsonPath

iTob
Beiträge: 51
Registriert: 8. Mär 2020 19:58
Answers: 0

Re: JSONPATH und ein device mit Punkt

Beitrag von iTob »

Vielen Dank.
Beide Versionen funktionieren.

Antworten