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 @DJMarc75 last edited by mickym

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

      Wahrscheinlich geht es einfacher, aber auf die Schnelle würde ich es so machen:

      $.{
          "value": value,
          "text": text,
          "icon": "1234" & icon & "ABCD",
          "year": year,
          "views": views
        }
      
      
      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @DJMarc75 last edited by

        @djmarc75 sagte: mit einigen hundert Arrays befüllt

        Eindimensional oder mehrdimensional? Ich sehe keine Array-Struktur.
        Ausreichend RAM ist vorhanden?

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

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

          Eindimensional oder mehrdimensional? Ich sehe keine Array-Struktur.
          Ausreichend RAM ist vorhanden?

          Eindimensional und knapp 5GB RAM von 8 verfügbar.

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

                                727
                                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