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 nach Attribute sortieren

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] JSON nach Attribute sortieren

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

      @djmarc75 jsonata.PNG

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


        1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @DJMarc75 last edited by 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

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

            @oliverio

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

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

              @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

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

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

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

                  @mickym
                  Ah ist mir entgangen.
                  Ist das neu?

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

                    @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

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

                      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.

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

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

                        Folgend gelöst:

                        Screenshot 2022-11-22 044337.png

                        Kurz und knapp quasi 👍

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        883
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        4
                        11
                        473
                        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