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 sortieren (nicht alphabetisch)

    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 sortieren (nicht alphabetisch)

    This topic has been deleted. Only users with topic management privileges can see it.
    • David G.
      David G. last edited by David G.

      Hallo,

      ich habe eine Json die ich gerne sortieren würde.
      Für alphabetisch habe ich beim suchen ein Blockly mit entsprecher Funktion gefunden.

      Jedoch würde ich meine json gerne nach einer bestimmten Vorgabe (Zb kommagetrennt in einer Variablen oder wie auch immer) sortieren.

      Würde die Sender gerne in die Reihenfolge wie am TV bringen, wobei die Reihenfolge im Sender selber bestehen bleiben muss.

      Es geht um folgende json (Ausschnitt):

      {
         "Sender": "3sat",
         "Start": "2023-05-05T18:00:00.000Z",
         "Ende": "2023-05-05T18:15:00.000Z",
         "Titel": "Tagesschau"
       },
       {
         "Sender": "3sat",
         "Start": "2023-05-05T18:15:00.000Z",
         "Ende": "2023-05-05T20:40:00.000Z",
         "Titel": "Der Untergang"
       },
       {
         "Sender": "3sat",
         "Start": "2023-05-05T20:40:00.000Z",
         "Ende": "2023-05-05T22:25:00.000Z",
         "Titel": "Der einzige Zeuge"
       },
       {
         "Sender": "3sat",
         "Start": "2023-05-05T22:25:00.000Z",
         "Ende": "2023-05-05T22:55:00.000Z",
         "Titel": "10 vor 10"
       },
       {
         "Sender": "3sat",
         "Start": "2023-05-05T22:55:00.000Z",
         "Ende": "2023-05-05T23:25:00.000Z",
         "Titel": "extra 3"
       },
       {
         "Sender": "3sat",
         "Start": "2023-05-05T23:25:00.000Z",
         "Ende": "2023-05-06T00:20:00.000Z",
         "Titel": "Willkommen Österreich"
       },
       {
         "Sender": "CNN.uk",
         "Start": "2023-04-29T00:00:00.000Z",
         "Ende": "2023-04-29T01:00:00.000Z",
         "Titel": "Anderson Cooper 360"
       },
       {
         "Sender": "CNN.uk",
         "Start": "2023-04-29T01:00:00.000Z",
         "Ende": "2023-04-29T02:00:00.000Z",
         "Titel": "The Whole Story with Anderson Cooper"
       },
       {
         "Sender": "CNN.uk",
         "Start": "2023-04-29T02:00:00.000Z",
         "Ende": "2023-04-29T03:00:00.000Z",
         "Titel": "Who's Talking to Chris Wallace?"
       },
       {
         "Sender": "CNN.uk",
         "Start": "2023-04-29T03:00:00.000Z",
         "Ende": "2023-04-29T04:00:00.000Z",
         "Titel": "CNN Tonight (CNN/US)"
       },
       {
         "Sender": "CNN.uk",
         "Start": "2023-04-29T04:00:00.000Z",
         "Ende": "2023-04-29T04:30:00.000Z",
         "Titel": "CNN Newsroom with Michael Holmes"
       },
       {
         "Sender": "CNN.uk",
         "Start": "2023-04-29T04:30:00.000Z",
         "Ende": "2023-04-29T05:00:00.000Z",
         "Titel": "Inside Africa"
       },
       {
         "Sender": "CNN.uk",
         "Start": "2023-04-29T05:00:00.000Z",
         "Ende": "2023-04-29T05:30:00.000Z",
         "Titel": "CNN Newsroom with Michael Holmes"
       },
      

      So geht es immer weiter mit verschiedenen Sendern.

      liv-in-sky 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @David G. last edited by liv-in-sky

        @david-g

        hoffe ich habe dich richtig verstanden

        hier ein beispiel

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="v9(OKj}zllQ44H{)Lc{N">reihenfolgeArray</variable>
           <variable id="mCYwI42|ncHnAW9vEKvY">jsonObject</variable>
         </variables>
         <block type="procedures_defcustomreturn" id="%~/MYnto3+Qsd;Wd9kpJ" x="362" y="262">
           <mutation statements="false">
             <arg name="reihenfolgeArray" varid="v9(OKj}zllQ44H{)Lc{N"></arg>
             <arg name="jsonObject" varid="mCYwI42|ncHnAW9vEKvY"></arg>
           </mutation>
           <field name="NAME">etwas tun</field>
           <field name="SCRIPT">Y29uc3QganNvbkFycmF5ID0ganNvbk9iamVjdDsNCg0KY29uc3QgU2VuZGVyUmVpaGVuZm9sZ2UgPSByZWloZW5mb2xnZUFycmF5OyAvLyBSZWloZW5mb2xnZSBkZXIgTmFtZW4gaW0gQXJyYXkNCg0KDQovLyBGdW5rdGlvbiwgZGllIGRhcyBKU09OLUFycmF5IHNvcnRpZXJ0IHVuZCBncnVwcGllcnQNCmZ1bmN0aW9uIHNvcnRpZXJlVW5kR3J1cHBpZXJlQXJyYXkoYXJyYXksIFNlbmRlclJlaWhlbmZvbGdlKSB7DQogIGNvbnN0IGdydXBwaWVydGVPYmpla3RlID0ge307DQogIFNlbmRlclJlaWhlbmZvbGdlLmZvckVhY2goU2VuZGVyID0+IGdydXBwaWVydGVPYmpla3RlW1NlbmRlcl0gPSBbXSk7DQoNCiAgLy8gT2JqZWt0ZSBuYWNoIFNlbmRlcm4gZ3J1cHBpZXJlbiB1bmQgUmVpaGVuZm9sZ2UgYmVpYmVoYWx0ZW4NCiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgew0KICAgIGNvbnN0IG9iamVrdCA9IGFycmF5W2ldOw0KICAgIGNvbnN0IFNlbmRlciA9IG9iamVrdC5TZW5kZXI7DQogICAgaWYgKGdydXBwaWVydGVPYmpla3RlLmhhc093blByb3BlcnR5KFNlbmRlcikpIHsNCiAgICAgIGdydXBwaWVydGVPYmpla3RlW1NlbmRlcl0ucHVzaChvYmpla3QpOw0KICAgIH0gZWxzZSB7DQogICAgICBncnVwcGllcnRlT2JqZWt0ZVtTZW5kZXJdID0gW29iamVrdF07DQogICAgfQ0KICB9DQoNCiAgLy8gRmVobGVuZGUgU2VuZGVyIGFucyBFbmRlIGRlcyBncnVwcGllcnRlbiBBcnJheXMgaGluenVmw7xnZW4NCiAgT2JqZWN0LmtleXMoZ3J1cHBpZXJ0ZU9iamVrdGUpLmZvckVhY2goU2VuZGVyID0+IHsNCiAgICBpZiAoIVNlbmRlclJlaWhlbmZvbGdlLmluY2x1ZGVzKFNlbmRlcikpIHsNCiAgICAgIFNlbmRlclJlaWhlbmZvbGdlLnB1c2goU2VuZGVyKTsNCiAgICB9DQogIH0pOw0KDQogIHJldHVybiBTZW5kZXJSZWloZW5mb2xnZS5mbGF0TWFwKFNlbmRlciA9PiBncnVwcGllcnRlT2JqZWt0ZVtTZW5kZXJdKTsNCn0NCg0KLy8gU29ydGllcnRlcyB1bmQgZ3J1cHBpZXJ0ZXMgQXJyYXkgYXVzZ2ViZW4NCnJldHVybiBzb3J0aWVyZVVuZEdydXBwaWVyZUFycmF5KGpzb25BcnJheSwgU2VuZGVyUmVpaGVuZm9sZ2UpOw0KDQo=</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         </block>
         <block type="variables_set" id="g#6eJHHD$|.rT!EB3kr?" x="163" y="363">
           <field name="VAR" id="mCYwI42|ncHnAW9vEKvY">jsonObject</field>
           <value name="VALUE">
             <block type="convert_json2object" id="O?9o(;wlZ=N9K@oF0}[g">
               <value name="VALUE">
                 <block type="text" id="ot^[82n(3Zrpl`]3_~KN">
                   <field name="TEXT">[  { "Sender": "Dieter", "alter": 35 },   { "Sender": "Dieter", "alter": 36 },   { "Sender": "Max", "alter": 20 },   { "Sender": "Max", "alter": 25 },   { "Sender": "Max", "alter": 26 },   { "Sender": "Anna", "alter": 30 },   { "Sender": "Anna", "alter": 35 },   { "Sender": "Anna", "alter": 37 },   { "Sender": "Anna", "alter": 39 },   { "Sender": "Frank", "alter": 27 }]</field>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="debug" id="pfE(Q_{D,|KzwM=DrVYb">
               <field name="Severity">log</field>
               <value name="TEXT">
                 <shadow type="text" id="eq$/YA:`xP;}%:t)r`r3">
                   <field name="TEXT">test</field>
                 </shadow>
                 <block type="procedures_callcustomreturn" id="2$?TGN/x#|j}{sH%8PGe">
                   <mutation name="etwas tun">
                     <arg name="reihenfolgeArray"></arg>
                     <arg name="jsonObject"></arg>
                   </mutation>
                   <value name="ARG0">
                     <block type="lists_create_with" id="+aT9=v$yidtG{aAH-:e_">
                       <mutation items="3"></mutation>
                       <value name="ADD0">
                         <block type="text" id="SCr/fl/y~U-PLgz1(Q5#">
                           <field name="TEXT">Frank</field>
                         </block>
                       </value>
                       <value name="ADD1">
                         <block type="text" id="d^a_#@[Zu#}b/VH1x7C#">
                           <field name="TEXT">Anna</field>
                         </block>
                       </value>
                       <value name="ADD2">
                         <block type="text" id="9*Ru]3hX$_a%s3qZSG,l">
                           <field name="TEXT">Max</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="ARG1">
                     <block type="variables_get" id="F@EIt97*,6^a[t52:87Q">
                       <field name="VAR" id="mCYwI42|ncHnAW9vEKvY">jsonObject</field>
                     </block>
                   </value>
                 </block>
               </value>
             </block>
           </next>
         </block>
        </xml>
        

        1 Reply Last reply Reply Quote 1
        • liv-in-sky
          liv-in-sky @David G. last edited by

          @david-g

          habe gerade das beispiel auf Sender geändert - somit solltest du es direkt bei dir einsetzen können

          David G. 1 Reply Last reply Reply Quote 0
          • David G.
            David G. @liv-in-sky last edited by

            @liv-in-sky

            Vielen Dank, hat wie es aussieht auf Anhieb funktioniert.

            Möchte mir ein Skript bauen mit dem ich mir das Fernsehprogramm nach Vorgabe nach Zeit oder Sender anzeigen lassen kann für freie Uhrzeiten.

            Da kommt bestimmt noch die eine oder andere Frage ^^.

            Eine hab ich gestern schon hier gestellt, falls du da auch Ahnung von hast ^^.

            https://forum.iobroker.net/topic/65008/js-funktion-in-blockly-erweitern

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

            Support us

            ioBroker
            Community Adapters
            Donate

            586
            Online

            32.0k
            Users

            80.5k
            Topics

            1.3m
            Posts

            2
            4
            198
            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