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.
    • mickym
      mickym Most Active last edited by mickym

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

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

      1e3f5c3c-1486-47af-87fa-f0532c4c124a-image.png

      @DJMarc75 Aber kannst Du machen wie Du willst. Ich nutze halt JSONATA - da es in der NodeRed Welt sehr praktisch ist. 😉

      DJMarc75 1 Reply Last reply Reply Quote 1
      • 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

                          852
                          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