Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie JSON Wert je Bedingung ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RossS
    antwortet
    Super, vielen Dank für die ausführliche Erklärung.
    Man lernt nie aus!

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von RossS Beitrag anzeigen
    Verständnisfrage warum die "0" vorneweg?
    In JSON repräsentiert [] ein Array, während {} ein Objekt beschreibt.
    In JSON sind diese Arrays numerisch indiziert, d.h. mit der "0" vorneweg bekommst du das erste Element in den eckigen Klammern.
    In dem Fall ist da nur ein Objekt, nämlich das hier:

    Code:
    {
       "deviceType": 4,
       "nukiId": "xxxxxxx",
       "name": "Haust\u00fcre",
       "firmwareVersion": "3.4.10",
       "lastKnownState": {
          "mode": 2,
          "state": 1,
          "stateName": "locked",
          "batte ryC ritical": false,
          "batteryCharging": false,
          "batteryCha rgeState": 100,
          "timestamp": "2022-11-14T21:00:06+00:00"
       }
    }​
    Aus diesem Objekt nimmst du dann das Element "lastKnownState", d.h.

    Code:
    {
          "mode": 2,
          "state": 1,
          "stateName": "locked",
          "batte ryC ritical": false,
          "batteryCharging": false,
          "batteryCha rgeState": 100,
          "timestamp": "2022-11-14T21:00:06+00:00"
       }​
    Hieraus dann final das Element stateName, d.h. locked

    Am besten kann man das in einem Online JSON Viewer sehen:

    json.png

    Einen Kommentar schreiben:


  • RossS
    antwortet
    Zitat von jonofe Beitrag anzeigen


    Ja so sollte der Pfad korrekt sein.

    In der korrekten Syntax für den JSON EXtractor LBS sieht das dann so aus:

    0|lastKnownState|stateName

    was soll ich sagen fuktioniert!! vielen DANK

    Danke an alle Beteiligten!


    Verständnisfrage warum die "0" vorneweg?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von starwarsfan Beitrag anzeigen
    Der Pfad für stateName sollte damit m.M.n. so sein:
    Zitat von starwarsfan Beitrag anzeigen
    /0/lastKnownState/stateName
    Ja so sollte der Pfad korrekt sein.

    In der korrekten Syntax für den JSON EXtractor LBS sieht das dann so aus:

    0|lastKnownState|stateName

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von RossS Beitrag anzeigen
    Habe folgenden JSON:

    [{"deviceType":4,"nukiId":xxxxxxx,"name":"Haust\ u00 fcre","firmwareVersion":"3.4.10","lastKnownState": {"mode":2,"state":1,"stateName":"locked","batte ryC ritical":false,"batteryCharging":false,"batteryCha rgeState":100,"timestamp":"2022-11-14T21:00:06+00:00"}}]
    Da hat's Leerzeichen in einem Key, bist Du sicher, dass das so stimmt? In einem richtigen Editor sieht das dann so aus:

    Code:
    [
      {
        "deviceType": 4,
        "nukiId": "xxxxxxx",
        "name": "Haust\u00fcre",
        "firmwareVersion": "3.4.10",
        "lastKnownState": {
          "mode": 2,
          "state": 1,
          "stateName": "locked",
          "batte ryC ritical": false,
          "batteryCharging": false,
          "batteryCha rgeState": 100,
          "timestamp": "2022-11-14T21:00:06+00:00"
        }
      }
    ]
    Der Pfad für stateName sollte damit m.M.n. so sein:

    Code:
    /0/lastKnownState/stateName
    Zuletzt geändert von starwarsfan; 16.11.2022, 21:04.

    Einen Kommentar schreiben:


  • marhal
    antwortet
    Hallo RossS,

    ich teste das immer so das ich im Notepad++ die JSON Plugins installiere, der Kann dir dann ein String wie du hast, schön aufschlüsseln und anzeigen welche Felder wo runter sind. Ich habe das mit deinem String auch versucht. Da gibt er mir Zurück das es kein gültiger JSON String ist. Vielleicht schaust du dir das genau noch mal an
    Denn deine Aufschlüsselung mit dem Trenner sehen soweit gut aus

    Gruß
    Marhal

    Einen Kommentar schreiben:


  • RossS
    antwortet
    Hallo Zusammen,

    ich hänge mich mal ans Thema JSON mit an.

    Habe folgenden JSON:

    [{"deviceType":4,"nukiId":xxxxxxx,"name":"Haust\ u00 fcre","firmwareVersion":"3.4.10","lastKnownState": {"mode":2,"state":1,"stateName":"locked","batte ryC ritical":false,"batteryCharging":false,"batteryCha rgeState":100,"timestamp":"2022-11-14T21:00:06+00:00"}}]

    nutze den JSON Extractor v0.4

    bekomme aber keine Werte am Ausgang

    z.B. für die nukild müsste ich doch folgendes unter E2 eingeben:

    deviceType|nukild

    oder für den stateName:

    deviceType|nukild​|name|firmwareVersion|lastKnownS tate|stateName

    Bin ich da auf dem Holzweg?

    Einen Kommentar schreiben:


  • marhal
    antwortet
    Danke euch Zwei,

    wie ich die Werte aus dem JSON bekomme weiß ich. Ich habe gehofft das es ein Baustein gibt, wo ich es direkt einrichten kann. Sprich ich gebe ihm dem Wert Day mit. Und er gibt halt dann den Wert für Day aus. Gebe ich halt den Wert Night mit holt er sich aus den JSON die Nacht werte.

    Oder nutzt ihr für eure Visu eh nur z.b den Day Wert ?

    Gruß
    Marhal

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Da wird nix getoggelt. day in ein Tag iKO und night in ein Nacht-iKO. Wann Tag und wann Nacht ist, musst du selbst entscheiden. Z.B per Wetter LBS
    Zuletzt geändert von jonofe; 13.11.2022, 10:39.

    Einen Kommentar schreiben:


  • Heimerl
    antwortet
    Hallo,
    probier es mal so
    Pfad1: daypart|cloudCover|day
    Pfad2: daypart|cloudCover|night

    könnte auch sein, dass du das "|" durch ":" oder ";" ersetzen musst....

    Gruss

    Einen Kommentar schreiben:


  • marhal
    antwortet
    Hallo Heimerl,

    danke für dein Tipp. Aber wie machst du toggelst du die Werte ? Also wenn ich halt Temperatur Tag & Temperatur Nacht habe. Das er halt je Tag/Nach den Wert ändert.

    Gruß
    Marhal

    Einen Kommentar schreiben:


  • Heimerl
    antwortet
    Servus,
    ich mach das mit dem JSON Extractor 19001208.....

    Einen Kommentar schreiben:


  • marhal
    hat ein Thema erstellt Wie JSON Wert je Bedingung ?.

    Wie JSON Wert je Bedingung ?

    Hallo alle zusammen,

    ich habe folgenden JSON String
    Code:
    "daypart": {
            "cloudCover": {
                "day": 71,
                "night": 68
            },​
    und würde den gern je nach Day oder Night die Werte für die Viso ausgeben. Hat jemand eine Idee mit welchen Baustein ich das realisieren kann ?

    Vielen Dank
    Marhal
Lädt...
X