Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Datensalat: String zu einem Array formatieren

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Datensalat: String zu einem Array formatieren

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
10 Beiträge 3 Kommentatoren 311 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Simon 0
    schrieb am zuletzt editiert von
    #1

    Nachdem ich einen großen Datensalat aufgrund von verzögerten Datenquellen hatte konnte ich diese in einem String sortieren. Für die weitere Verwendung brauche ich die Daten aber in gleicher Reihenfolge in einem Array. Ich habe gelesen das geht gut über JSONATA geht aber mir fehlt es an Erfahrung um das umzusetzen. Danke schon mal : )

    S F 2 Antworten Letzte Antwort
    0
    • S Simon 0

      Nachdem ich einen großen Datensalat aufgrund von verzögerten Datenquellen hatte konnte ich diese in einem String sortieren. Für die weitere Verwendung brauche ich die Daten aber in gleicher Reihenfolge in einem Array. Ich habe gelesen das geht gut über JSONATA geht aber mir fehlt es an Erfahrung um das umzusetzen. Danke schon mal : )

      S Offline
      S Offline
      Simon 0
      schrieb am zuletzt editiert von
      #2

      @simon-0 said in Datensalat: String zu einem Array formatieren:

      Nachdem ich einen großen Datensalat aufgrund von verzögerten Datenquellen hatte konnte ich diese in einem String sortieren. Für die weitere Verwendung brauche ich die Daten aber in gleicher Reihenfolge in einem Array. Ich habe gelesen das geht gut über JSONATA geht aber mir fehlt es an Erfahrung um das umzusetzen. Danke schon mal : )

      OliverIOO 1 Antwort Letzte Antwort
      0
      • S Simon 0

        @simon-0 said in Datensalat: String zu einem Array formatieren:

        Nachdem ich einen großen Datensalat aufgrund von verzögerten Datenquellen hatte konnte ich diese in einem String sortieren. Für die weitere Verwendung brauche ich die Daten aber in gleicher Reihenfolge in einem Array. Ich habe gelesen das geht gut über JSONATA geht aber mir fehlt es an Erfahrung um das umzusetzen. Danke schon mal : )

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #3

        @simon-0

        JSONata ist eigentlich dafür da, wenn du bereits ein JSON.Objekt hast.

        Wie sieht den dein String aus den du in ein Array umwandeln willst?
        Evtl. hilft Regex hier weiter

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        S 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @simon-0

          JSONata ist eigentlich dafür da, wenn du bereits ein JSON.Objekt hast.

          Wie sieht den dein String aus den du in ein Array umwandeln willst?
          Evtl. hilft Regex hier weiter

          S Offline
          S Offline
          Simon 0
          schrieb am zuletzt editiert von
          #4

          @oliverio ```[{"id":"b0e793e7.295588","type":"inject","z":"589e20c7.549ed","name":"pH","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"8.0","payloadType":"num","x":410,"y":260,"wires":[["3ad7b93c.16b5f6"]]},{"id":"f5c12b11.7da598","type":"inject","z":"589e20c7.549ed","name":"temperature","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"22.1","payloadType":"num","x":390,"y":360,"wires":[["364ce6c5.f4cc8a"]]},{"id":"531c7be4.3879a4","type":"inject","z":"589e20c7.549ed","name":"d_Truebung","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"30","payloadType":"num","x":390,"y":300,"wires":[["9759dcf4.5c2dc"]]},{"id":"9d664f2f.e3c8c8","type":"debug","z":"589e20c7.549ed","name":"FuzzyJSON_Path","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1390,"y":300,"wires":[]},{"id":"da5abe75.7ad858","type":"json","z":"589e20c7.549ed","name":"","property":"payload","action":"","pretty":false,"x":810,"y":300,"wires":[["727dbfac.d17d08"]]},{"id":"1aa84020.14db78","type":"function","z":"589e20c7.549ed","name":"","func":"msg.payload = msg.payload.ph+","+msg.payload.trueb+","+msg.payload.temp+"\n";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1200,"y":300,"wires":[["9d664f2f.e3c8c8"]]},{"id":"3ad7b93c.16b5f6","type":"function","z":"589e20c7.549ed","name":"topic ph","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "ph";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":260,"wires":[["da5abe75.7ad858"]]},{"id":"364ce6c5.f4cc8a","type":"function","z":"589e20c7.549ed","name":"topic temp","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "temp";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":340,"wires":[["da5abe75.7ad858"]]},{"id":"9759dcf4.5c2dc","type":"function","z":"589e20c7.549ed","name":"topic trueb","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "trueb";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":300,"wires":[["da5abe75.7ad858"]]},{"id":"727dbfac.d17d08","type":"join","z":"589e20c7.549ed","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\n","joinerType":"str","accumulate":true,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":970,"y":300,"wires":[["1aa84020.14db78"]]},{"id":"5f5894bc.ac5fa4","type":"comment","z":"589e20c7.549ed","name":"hier soll aus dem String ein Array werden","info":"","x":1510,"y":200,"wires":[]}]

          S OliverIOO 2 Antworten Letzte Antwort
          0
          • S Simon 0

            @oliverio ```[{"id":"b0e793e7.295588","type":"inject","z":"589e20c7.549ed","name":"pH","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"8.0","payloadType":"num","x":410,"y":260,"wires":[["3ad7b93c.16b5f6"]]},{"id":"f5c12b11.7da598","type":"inject","z":"589e20c7.549ed","name":"temperature","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"22.1","payloadType":"num","x":390,"y":360,"wires":[["364ce6c5.f4cc8a"]]},{"id":"531c7be4.3879a4","type":"inject","z":"589e20c7.549ed","name":"d_Truebung","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"30","payloadType":"num","x":390,"y":300,"wires":[["9759dcf4.5c2dc"]]},{"id":"9d664f2f.e3c8c8","type":"debug","z":"589e20c7.549ed","name":"FuzzyJSON_Path","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1390,"y":300,"wires":[]},{"id":"da5abe75.7ad858","type":"json","z":"589e20c7.549ed","name":"","property":"payload","action":"","pretty":false,"x":810,"y":300,"wires":[["727dbfac.d17d08"]]},{"id":"1aa84020.14db78","type":"function","z":"589e20c7.549ed","name":"","func":"msg.payload = msg.payload.ph+","+msg.payload.trueb+","+msg.payload.temp+"\n";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1200,"y":300,"wires":[["9d664f2f.e3c8c8"]]},{"id":"3ad7b93c.16b5f6","type":"function","z":"589e20c7.549ed","name":"topic ph","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "ph";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":260,"wires":[["da5abe75.7ad858"]]},{"id":"364ce6c5.f4cc8a","type":"function","z":"589e20c7.549ed","name":"topic temp","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "temp";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":340,"wires":[["da5abe75.7ad858"]]},{"id":"9759dcf4.5c2dc","type":"function","z":"589e20c7.549ed","name":"topic trueb","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "trueb";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":300,"wires":[["da5abe75.7ad858"]]},{"id":"727dbfac.d17d08","type":"join","z":"589e20c7.549ed","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\n","joinerType":"str","accumulate":true,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":970,"y":300,"wires":[["1aa84020.14db78"]]},{"id":"5f5894bc.ac5fa4","type":"comment","z":"589e20c7.549ed","name":"hier soll aus dem String ein Array werden","info":"","x":1510,"y":200,"wires":[]}]

            S Offline
            S Offline
            Simon 0
            schrieb am zuletzt editiert von
            #5

            @simon-0 flows-7.json

            1 Antwort Letzte Antwort
            0
            • S Simon 0

              @oliverio ```[{"id":"b0e793e7.295588","type":"inject","z":"589e20c7.549ed","name":"pH","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"8.0","payloadType":"num","x":410,"y":260,"wires":[["3ad7b93c.16b5f6"]]},{"id":"f5c12b11.7da598","type":"inject","z":"589e20c7.549ed","name":"temperature","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"22.1","payloadType":"num","x":390,"y":360,"wires":[["364ce6c5.f4cc8a"]]},{"id":"531c7be4.3879a4","type":"inject","z":"589e20c7.549ed","name":"d_Truebung","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"30","payloadType":"num","x":390,"y":300,"wires":[["9759dcf4.5c2dc"]]},{"id":"9d664f2f.e3c8c8","type":"debug","z":"589e20c7.549ed","name":"FuzzyJSON_Path","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1390,"y":300,"wires":[]},{"id":"da5abe75.7ad858","type":"json","z":"589e20c7.549ed","name":"","property":"payload","action":"","pretty":false,"x":810,"y":300,"wires":[["727dbfac.d17d08"]]},{"id":"1aa84020.14db78","type":"function","z":"589e20c7.549ed","name":"","func":"msg.payload = msg.payload.ph+","+msg.payload.trueb+","+msg.payload.temp+"\n";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1200,"y":300,"wires":[["9d664f2f.e3c8c8"]]},{"id":"3ad7b93c.16b5f6","type":"function","z":"589e20c7.549ed","name":"topic ph","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "ph";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":260,"wires":[["da5abe75.7ad858"]]},{"id":"364ce6c5.f4cc8a","type":"function","z":"589e20c7.549ed","name":"topic temp","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "temp";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":340,"wires":[["da5abe75.7ad858"]]},{"id":"9759dcf4.5c2dc","type":"function","z":"589e20c7.549ed","name":"topic trueb","func":"//read payload\n\nvar stringValue = msg.payload;\n\n//set and return payload\nmsg.topic = "trueb";\nmsg.payload = stringValue;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":300,"wires":[["da5abe75.7ad858"]]},{"id":"727dbfac.d17d08","type":"join","z":"589e20c7.549ed","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\n","joinerType":"str","accumulate":true,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":970,"y":300,"wires":[["1aa84020.14db78"]]},{"id":"5f5894bc.ac5fa4","type":"comment","z":"589e20c7.549ed","name":"hier soll aus dem String ein Array werden","info":"","x":1510,"y":200,"wires":[]}]

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #6

              @simon-0
              ok das ist ein JSON string.

              im javascript-adapter kannst du zunächst JSON in ein Objekt umwandeln.
              In data befindet sich der Inhalt den du da gepostet hast.

              var obj = JSON.parse(data);
              

              danach kannst du ganz normal auf die einzelnen Elemente zugreifen.
              bspw das erste Array Element mit

              obj[0]
              

              oder ein Attribut aus dem ersten Array

              obj[0].payload
              

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              1 Antwort Letzte Antwort
              0
              • S Simon 0

                Nachdem ich einen großen Datensalat aufgrund von verzögerten Datenquellen hatte konnte ich diese in einem String sortieren. Für die weitere Verwendung brauche ich die Daten aber in gleicher Reihenfolge in einem Array. Ich habe gelesen das geht gut über JSONATA geht aber mir fehlt es an Erfahrung um das umzusetzen. Danke schon mal : )

                F Offline
                F Offline
                fastfoot
                schrieb am zuletzt editiert von
                #7

                @simon-0 so ganz verstehe ich dein Anliegen nicht aber probiere mal:

                let payload = JSON.parse(getState('0_userdata.0.Forum.jsonata').val);
                let jsonataAusdruck = '$[name.$match(/hier/)].name.$split(" ")';
                let arr = jsonataExpression(payload, jsonataAusdruck);
                log(arr);
                
                //alle Namen als Array
                jsonataAusdruck = '$.name';
                arr = jsonataExpression(payload, jsonataAusdruck);
                log(arr);
                

                iobroker läuft unter Docker auf QNAP TS-451+
                SkriptRecovery: https://forum.iobroker.net/post/930558

                S 1 Antwort Letzte Antwort
                0
                • F fastfoot

                  @simon-0 so ganz verstehe ich dein Anliegen nicht aber probiere mal:

                  let payload = JSON.parse(getState('0_userdata.0.Forum.jsonata').val);
                  let jsonataAusdruck = '$[name.$match(/hier/)].name.$split(" ")';
                  let arr = jsonataExpression(payload, jsonataAusdruck);
                  log(arr);
                  
                  //alle Namen als Array
                  jsonataAusdruck = '$.name';
                  arr = jsonataExpression(payload, jsonataAusdruck);
                  log(arr);
                  
                  S Offline
                  S Offline
                  Simon 0
                  schrieb am zuletzt editiert von
                  #8

                  @fastfoot Ok ich hätte wohl erwähnen sollen das ich alles in der Node-Red Umgebung realisieren wollte. Die Anhänge sind die exportierten Nodes.
                  @OliverIO ist der Javascript Adapter in Node Red?

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • S Simon 0

                    @fastfoot Ok ich hätte wohl erwähnen sollen das ich alles in der Node-Red Umgebung realisieren wollte. Die Anhänge sind die exportierten Nodes.
                    @OliverIO ist der Javascript Adapter in Node Red?

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #9

                    @simon-0
                    Nein.
                    Es ist ebenfalls ein Standard Adapter von
                    Iobroker, muss aber nachinstalliert werden.

                    Bei node red bin ich allerdings raus
                    Es gibt dafür ein eigenes unterforum

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    S 1 Antwort Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @simon-0
                      Nein.
                      Es ist ebenfalls ein Standard Adapter von
                      Iobroker, muss aber nachinstalliert werden.

                      Bei node red bin ich allerdings raus
                      Es gibt dafür ein eigenes unterforum

                      S Offline
                      S Offline
                      Simon 0
                      schrieb am zuletzt editiert von
                      #10

                      @oliverio danke ich habe es nochmal in Node Red Bereich gepostet aber dann auch selbst gelöst ; )

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      844

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe