Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. JSON - mal wieder

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    JSON - mal wieder

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Gukerl @Homoran last edited by

      @homoran
      So ist es im Adapter drinnen:

      [
        {
          "Event": "Windwarnung",
          "Description": "Starker Wind mit Spitzen von 60 bis 80 km/h ist zu erwarten.",
          "Level": 2,
          "Effective": "Mo. 00:00 - Di. 00:00",
          "Icon": "/meteoalarm.admin/icons/black/t1.png",
          "AlarmType": "Wind"
        }
      ]
      

      Es klappt garnichts:
      Für mich ist eigentlich das Beispiel wichtig:
      Vom Shelly bekomme ich diesen JSON im Datenpunkt:

      {
        "id": 101,
        "tC": 16.7,
        "tF": 62
      }
      

      Auch hier keine Chance (im Startpost das JS). Ich hab Variationen probiert. Debug zeigt garnichts an.
      JSONShelly.JPG

      Entweder passt mit meinem Adapter was nicht oder...? Keine Ahnung.

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Gukerl last edited by Homoran

        @gukerl mangels Adapter-DP eine Variable mit dem I halt:
        Screenshot_20250207-095412_Firefox.jpg

        und
        Screenshot_20250207-095633_Firefox.jpg

        1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Gukerl last edited by Codierknecht

          @gukerl sagte in JSON - mal wieder:

          Ich hab schon viele Variationen probiert, nichts klappt

          Du hast die "richtige" Variante vergessen: Indizes in JSON-Arrays beginnen bei 0.

          Wie @Homoran schon schrieb: Das funzt einwandfrei:

          e3458b79-e0f7-4f87-afdb-185479549eb0-image.png

          Vom Shelly bekomme ich diesen JSON im Datenpunkt:

          Das wiederum ist kein Array. Also wird ohne Index gelesen:

          JSON.parse(val).tC
          

          Ich persönlich würde mir da passende Alias-DP anlegen und mit der Lesekonvertierung die Werte aus dem JSON holen.

          8922e98b-e2da-4f85-aa3f-7f6873287214-image.png

          Homoran 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Codierknecht last edited by

            @codierknecht sagte in JSON - mal wieder:

            Ich persönlich würde mir da passende Alias-DP anlegen und mit der Lesekonvertierung die Werte aus dem JSON holen.

            rischtisch, aber hier geht's um Blockly.

            Oftmals sind solche Dinge, die auch anders lösbar sind, dazu da um sich mit Blockly vertraut zu machen

            1 Reply Last reply Reply Quote 1
            • Codierknecht
              Codierknecht Developer Most Active last edited by Codierknecht

              @Gukerl
              Zum Ausprobieren hilft das hier: https://jsonpathfinder.com/

              Der sagt Dir auch gleich, wie einzelne Elemente anzusprechen sind.

              ba8232ea-d3d1-431d-bd38-5d7ac01e73da-image.png

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Codierknecht last edited by

                @codierknecht sagte in JSON - mal wieder:

                Das wiederum ist kein Array. Also wir ohne Index gelesen:

                Editör!

                Deswegen hatte ich die Seite von jsonviewer.stack.hu gezeigt auf der man schön die Struktur sehen kann.

                Codierknecht 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @Homoran last edited by

                  @homoran sagte in JSON - mal wieder:

                  Editör!

                  Sorry 😯

                  Macht der jsonpathfinder auch. Netterweise zeigt der auch gleich (fast) die richtige Syntax für den Zugriff 😉

                  Jeder hat da halt so seine Vorlieben 🙂

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    Gukerl @Codierknecht last edited by

                    Ich hab jetzt ChatGPT befragt, wie denn die KI das auflöst, so stehts im Datenpunkt:

                    {
                      "id": 100,
                      "tC": 17.1,
                      "tF": 62.8
                    }
                    

                    Klappt nicht, der https://jsonviewer.stack.hu/ zeigt keinen Index.

                    const jsonString = '{ "id": 100, "tC": 18.5, "tF": 65.3 }';
                    
                    // Parse the JSON string
                    const jsonData = JSON.parse(jsonString);
                    
                    // Extract the value of tC
                    const temperatureCelsius = jsonData.tC;
                    
                    console.log("Temperature in Celsius:", temperatureCelsius);
                    

                    Ich gebe auf 😕 und frag mich, wofür das ganze JSON Zeig im Blockly denn dann gut sein soll. Nachdem es aber mit JS auch nicht geht...?!?

                    Codierknecht Homoran 4 Replies Last reply Reply Quote 1
                    • Codierknecht
                      Codierknecht Developer Most Active @Gukerl last edited by Codierknecht

                      @gukerl sagte in JSON - mal wieder:

                      zeigt keinen Index

                      Warum auch? Ist ja kein Array.
                      Über einen Index greifst Du auf ein Array mit Objekten zu.

                      Beachte den Unterschied:

                      const jsonString = '{"id": 100, "tC": 18.5, "tF": 65.3}';
                      const jsonArray = '[{"id": 100, "tC": 18.5, "tF": 65.3}, {"id": 101, "tC": 18.9, "tF": 61.2}]';
                      

                      In jsonString steckt ein einzelnes Objekt. Auf dessen Properties kannst Du direkt zugreifen.
                      Das jsonArray ist eine Liste von Objekten. Da muss über den Index angegeben werden, das wievielte Objekt in der Liste gemeint ist.
                      Beachte: Der Index beginnt bei "0"!

                      Edit
                      Ein Array erkennst Du daran, dass "außenrum" eckige Klammern zu finden sind.
                      Wie viele Elemente (Objekte) dann in der Liste stehen, ist egal. Der Zugriff benötigt einen Index - auch bei nur einem einzigen Objekt.

                      1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Gukerl last edited by

                        @gukerl sagte in JSON - mal wieder:

                        Nachdem es aber mit JS auch nicht geht...?!?

                        Der Code funktioniert einwandfrei ... wenn man den Fehler an entscheidender Stelle korrigiert:

                        1616ccb1-1365-447e-b277-275a897ddcf1-image.png

                        G 1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @Gukerl last edited by

                          @gukerl sagte in JSON - mal wieder:

                          Ich gebe auf und frag mich, wofür das ganze JSON Zeig im Blockly denn dann gut sein soll

                          Aufgeben ist keine Option 😁

                          c1ae837f-819a-4a72-b6f5-9b42be60e4ed-image.png
                          Es gilt - wie immer: Kaum macht man's richtig, funktioniert's auch 😉 😀

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Gukerl last edited by

                            @gukerl sagte in JSON - mal wieder:

                            der https://jsonviewer.stack.hu/ zeigt keinen Index.

                            natürlich nicht!
                            ist hier auch nicht drin
                            Screenshot_20250207-095633_Firefox.jpg
                            nur das Attribut selber.

                            @gukerl sagte in JSON - mal wieder:

                            Ich hab jetzt ChatGPT befragt,

                            reichen dir unsere Aussagen und Beispiele nicht?

                            1 Reply Last reply Reply Quote 0
                            • G
                              Gukerl @Codierknecht last edited by Gukerl

                              @codierknecht
                              Oidaaaaaaa.... ICH BIN WIRKLICH BLIND - Asche auf mein Haupt!! Das passiert, wenn man sich ganz woandershin konzentriert.

                              Danke 🙂

                              P.S. Was bedeutet Oidaaaaaa ---> https://www.youtube.com/watch?v=iuXR53ex4iI 😉

                              Codierknecht 1 Reply Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @Gukerl last edited by

                                @gukerl sagte in JSON - mal wieder:

                                Was bedeutet Oidaaaaaa

                                Ich bin des Ausländischen durchaus mächtig 😁 😁

                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                640
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                3
                                16
                                594
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo