Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] JSON - Werte von arrays ändern ?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] JSON - Werte von arrays ändern ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @DJMarc75 last edited by

      @djmarc75 sagte: Eindimensional

      Also meinst Du ein Array mit vielen Objekten wie gezeigt?

      DJMarc75 1 Reply Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @paul53 last edited by

        @paul53 sagte in JSON - Werte von arrays ändern ?:

        Also meinst Du ein Array mit vielen Objekten wie gezeigt?

        Ja, falsch ausgedrückt 🙄

        @mickym sagte in JSON - Werte von arrays ändern ?:

        Ich nutze halt JSONATA

        Ich setze das jetzt mal so um... momentle

        1 Reply Last reply Reply Quote 0
        • DJMarc75
          DJMarc75 @mickym last edited by

          @mickym sagte in JSON - Werte von arrays ändern ?:

                                                                                                                                  $.{                                                                                                                                                                                "value": value,                                                                                                                                                                                "text": text,                                                                                                                                                                                "icon": "1234" & icon & "ABCD",                                                                                                                                                                                "year": year,                                                                                                                                                                                "views": views                                                                                                                                                                              }
          

          Läuft:

          Screenshot 2022-12-19 115712.png

          musste nur JSONATA anpassen da die Quelldatei andere Werte liefert.

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @DJMarc75 last edited by mickym

            @djmarc75 Hat das einen Grund, warum Du das Ergebnis in Quellliste speicherst und nicht gleich direkt als Input verwendest - die Abfrage ist doch eh lokal? Oder mit anderen Worten kann man den "result" der Abfrage nicht gleich in ein Objekt umwandeln?

            DJMarc75 2 Replies Last reply Reply Quote 0
            • DJMarc75
              DJMarc75 @mickym last edited by

              @mickym sagte in [gelöst] JSON - Werte von arrays ändern ?:

              Hat das einen Grund

              Ist schon wieder raus. Hatte ich nur als Kontrolle drin - anstatt ein DEBUG einzubauen und mir das Log mit 1004 Einträgen zuzuhauen 😀

              1 Reply Last reply Reply Quote 1
              • DJMarc75
                DJMarc75 @mickym last edited by

                @mickym NACHTRAG:

                Screenshot 2022-12-19 143754.png

                Selbiges in NodeRed umgesetzt 😎

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @DJMarc75 last edited by

                  @djmarc75 Geht auch ohne split und join, wenn Du den gleichen Ausdruck verwendest. 😉

                  19b48350-c238-442d-bd4b-25d5278200fc-image.png

                  Dis JSON-Node brauchst und die iobroker-Out Node auch. 😉

                  Ich gehe auch davon aus, dass Du die von der http-request Node ein Objekt ausgeben lässt.

                  [
                     {
                         "id": "0107756917741370",
                         "type": "inject",
                         "z": "289f539dcc33814e",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[{\"value\":62562,\"text\":\"Asterix & Obelix gegen Caesar\",\"icon\":\"/library/metadata/62562/thumb/1660379273\",\"year\":1999,\"views\":13},{\"value\":62544,\"text\":\"Asterix - Operation Hinkelstein\",\"icon\":\"/library/metadata/62544/thumb/1660379264\",\"year\":1989,\"views\":0}]",
                         "payloadType": "json",
                         "x": 310,
                         "y": 4280,
                         "wires": [
                             [
                                 "9c6b8a3a2bf861cd"
                             ]
                         ]
                     },
                     {
                         "id": "9c6b8a3a2bf861cd",
                         "type": "change",
                         "z": "289f539dcc33814e",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.{\t   \"value\": value,\t   \"text\": text,\t   \"icon\": \"1234\" & icon & \"ABCD\",\t   \"year\": year,\t   \"views\": views \t}",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 490,
                         "y": 4280,
                         "wires": [
                             [
                                 "250b99cbe6b00589"
                             ]
                         ]
                     },
                     {
                         "id": "250b99cbe6b00589",
                         "type": "debug",
                         "z": "289f539dcc33814e",
                         "name": "change Icon in Object",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 720,
                         "y": 4280,
                         "wires": []
                     }
                  ]
                  

                  DJMarc75 1 Reply Last reply Reply Quote 0
                  • DJMarc75
                    DJMarc75 @mickym last edited by

                    @mickym sagte in [gelöst] JSON - Werte von arrays ändern ?:

                    wenn Du den gleichen Ausdruck verwendest.

                    eben nicht, deshalb ja die beiden Nodes:

                    Screenshot 2022-12-19 152253.png

                    @mickym sagte in [gelöst] JSON - Werte von arrays ändern ?:

                    ttp-request Node ein Objekt ausgeben lässt

                    Screenshot 2022-12-19 152337.png

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @DJMarc75 last edited by mickym

                      @djmarc75 Lass mal das payload weg 😉 Der Punkt nach der payload also

                      0f243498-a870-4d41-be63-c1ab4d94e447-image.png

                      spaltet bereits das ganze Array in einzelne Objekte auf und da Du quasi schon im Objektkontext bist, darfst Du nicht mehr auf die payload referenzieren. Am Besten schaust Du Dir das in dem JSONATA try Teil an.

                      Der Punkt ist ein sogenannter Path Operator. 😉

                      d756ab7e-9796-4607-ba13-bca559308a81-image.png

                      DJMarc75 1 Reply Last reply Reply Quote 1
                      • DJMarc75
                        DJMarc75 @mickym last edited by

                        @mickym check und passt

                        Screenshot 2022-12-19 153244.png

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        586
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        3
                        15
                        287
                        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