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. Skripten / Logik
  4. Blockly
  5. [gelöst] JSON nach Attribute sortieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    853

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[gelöst] JSON nach Attribute sortieren

Geplant Angeheftet Gesperrt Verschoben Blockly
11 Beiträge 4 Kommentatoren 571 Aufrufe 4 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.
  • DJMarc75D DJMarc75

    Nabend,

    morgiges Projekt soll sein ein JSON nach Attribute zu sortieren.
    Das JSON hat 2 Attribute und sieht so aus:

    [
      {
        "text": "Maschine1",
        "value": "63983"
      },
      {
        "text": "Knotenpunkt4",
        "value": "63364"
      }
    ]
    

    Der Inhalt sollte ja egal sein und ich hab das Teil mal gekürtzt weil es mehr als 30 {Werte} sind:

    Ich würde gerne dieses JSON nach dem Attribute "text" aufsteigend sortieren.

    Kann man das per Blockly lösen oder bedarf es da einer JS-Funktion ?

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

    @djmarc75 jsonata.PNG

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

    1 Antwort Letzte Antwort
    1
    • mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #3

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      • DJMarc75D DJMarc75

        Nabend,

        morgiges Projekt soll sein ein JSON nach Attribute zu sortieren.
        Das JSON hat 2 Attribute und sieht so aus:

        [
          {
            "text": "Maschine1",
            "value": "63983"
          },
          {
            "text": "Knotenpunkt4",
            "value": "63364"
          }
        ]
        

        Der Inhalt sollte ja egal sein und ich hab das Teil mal gekürtzt weil es mehr als 30 {Werte} sind:

        Ich würde gerne dieses JSON nach dem Attribute "text" aufsteigend sortieren.

        Kann man das per Blockly lösen oder bedarf es da einer JS-Funktion ?

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

        @djmarc75

        Eingangs eine kleine Korrektur
        Json ist nur die textuelle Darstellung eines JavaScript Objektes.
        Du hast als Beispiel ein Array of objects.

        Leider ohne blockly, aber evtl kann jemand daraus ein blockly machen.
        An die Funktion wird das Array übergeben und als Schlüssel der Name des Attributs nachdem sortiert werden soll.

        
        function sortByKey(array, key) {
            return array.sort(function(a, b) {
                var x = a[key]; var y = b[key];
                return ((x < y) ? -1 : ((x > y) ? 1 : 0));
            });
        }
        
        

        Die Funktion müsste mit allen primitiven Datentypen zurechtkommen.
        Bei strings wird nur alphanumerisch und nicht lexikalisch sortiert

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

        mickymM 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @djmarc75

          Eingangs eine kleine Korrektur
          Json ist nur die textuelle Darstellung eines JavaScript Objektes.
          Du hast als Beispiel ein Array of objects.

          Leider ohne blockly, aber evtl kann jemand daraus ein blockly machen.
          An die Funktion wird das Array übergeben und als Schlüssel der Name des Attributs nachdem sortiert werden soll.

          
          function sortByKey(array, key) {
              return array.sort(function(a, b) {
                  var x = a[key]; var y = b[key];
                  return ((x < y) ? -1 : ((x > y) ? 1 : 0));
              });
          }
          
          

          Die Funktion müsste mit allen primitiven Datentypen zurechtkommen.
          Bei strings wird nur alphanumerisch und nicht lexikalisch sortiert

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #5

          @oliverio

          Unten ist doch mit JSONATA eine super elegante Lösung gezeigt?

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          OliverIOO 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @oliverio

            Unten ist doch mit JSONATA eine super elegante Lösung gezeigt?

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

            @mickym
            Ja mit einer zusätzlichen Bibliothek.
            Ich bevorzuge meist erstmal cleane Lösungen.
            Erst wenn es vom Aufwand keinen Sinn mehr macht, dann hol ich mir eine Bibliothek. Bei npm gibt es Bibliotheken mit 10 Zeilen. Das macht meist kein Sinn.
            Er kann ja selbst wählen.
            Ich hab dafür kein blockly

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

            mickymM 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @mickym
              Ja mit einer zusätzlichen Bibliothek.
              Ich bevorzuge meist erstmal cleane Lösungen.
              Erst wenn es vom Aufwand keinen Sinn mehr macht, dann hol ich mir eine Bibliothek. Bei npm gibt es Bibliotheken mit 10 Zeilen. Das macht meist kein Sinn.
              Er kann ja selbst wählen.
              Ich hab dafür kein blockly

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #7

              @oliverio Ja im Prinzip geb ich Dir Recht, aber JSONATA ist Bestandteil von Blockly. Dafür muss man nichts installieren.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              OliverIOO 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @oliverio Ja im Prinzip geb ich Dir Recht, aber JSONATA ist Bestandteil von Blockly. Dafür muss man nichts installieren.

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

                @mickym
                Ah ist mir entgangen.
                Ist das neu?

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

                mickymM 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @mickym
                  Ah ist mir entgangen.
                  Ist das neu?

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #9

                  @oliverio sagte in JSON nach Attribute sortieren:

                  @mickym
                  Ah ist mir entgangen.
                  Ist das neu?

                  seit Version 4.4.3 des JS Adapters - also seit 3.3.2020 ;)

                  abf0dafe-0729-4cda-86cd-c4ad8ce7b425-image.png

                  Habs gefunden:
                  81956152-e0b9-4c4e-8d23-e6bfb2d21182-image.png

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  0
                  • mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #10

                    Hab gerade mal geschaut, was das Blockly für einen JS Code erzeugt:

                    fd1f1306-3468-4873-a180-c91c3f8fa303-image.png

                    Im Prinzip scheint

                    jsonataExpression(Array,'$^(text)')
                    

                    das zu langen. Der 1. Parameter ist das Objekt bzw. Array und der 2. Parameter der JSONATA Ausdruck.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    1 Antwort Letzte Antwort
                    0
                    • DJMarc75D Offline
                      DJMarc75D Offline
                      DJMarc75
                      schrieb am zuletzt editiert von DJMarc75
                      #11

                      Guten Morgen und Merci für die super Unterstützung.

                      Folgend gelöst:

                      Screenshot 2022-11-22 044337.png

                      Kurz und knapp quasi :+1:

                      Lehrling seit 1975 !!!
                      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                      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

                      528

                      Online

                      32.6k

                      Benutzer

                      82.1k

                      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