Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Ersten Eintrag aus JSON entfernen

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    330

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    298

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    928

Ersten Eintrag aus JSON entfernen

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 3 Kommentatoren 460 Aufrufe 2 Beobachtet
  • Ä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.
  • M ManfredHi

    Hallo. Wie kann ich aus einem Json-Datenpunkt den ersten Eintrag entfernen.
    Mein Json schaut so aus:
    73c64ab8-ee78-45b8-999f-b054da9d25d3-image.png
    Nun möchte ich z.B. das um 13 Uhr der erste Eintrag wo das Feld Zeit-beginn auf 13:00 steht, entfernt wird, um 14 Uhr dann wieder usw.
    Geht das mit einem Blockly?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #2

    @manfredhi sagte: den ersten Eintrag entfernen.

    Wozu?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    M 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @manfredhi sagte: den ersten Eintrag entfernen.

      Wozu?

      M Online
      M Online
      ManfredHi
      schrieb am zuletzt editiert von
      #3

      @paul53 sagte in Ersten Eintrag aus JSON entfernen:

      Wozu?

      Soll immer mit der gerade aktuellen STunde beginnen.

      paul53P 1 Antwort Letzte Antwort
      0
      • M ManfredHi

        @paul53 sagte in Ersten Eintrag aus JSON entfernen:

        Wozu?

        Soll immer mit der gerade aktuellen STunde beginnen.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #4

        @manfredhi sagte: Soll immer mit der gerade aktuellen STunde beginnen.

        Das kann man dort berücksichtigen, wo das JSON ausgewertet wird.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #5

          851aa659-fbfe-4f9b-b7d0-733c7c3e3627-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id=";po#/$v(8.UbHdHNkx[6">Objekt</variable>
           </variables>
           <block type="variables_set" id=":=#[V+q{~-1q78b_H^FF" x="-1137" y="-687">
             <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
             <value name="VALUE">
               <block type="convert_json2object" id="?vV.vvxZ^NQN^_lWU1f}">
                 <value name="VALUE">
                   <block type="text" id="+fF--6Ew-2u1R;P~2mBq">
                     <field name="TEXT">{   "data": [     {       "Zeit-Beginn": "13:00"     }, {       "Zeit-Beginn": "14:00"     }, {       "Zeit-Beginn": "15:00"     }, {       "Zeit-Beginn": "16:00"     }   ] }</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="debug" id="Di9b3@!X-|w!(OH[MyQR">
                 <field name="Severity">log</field>
                 <value name="TEXT">
                   <shadow type="text" id="Qc!nM@ch{Sc_{l1rPEtk">
                     <field name="TEXT">test</field>
                   </shadow>
                   <block type="variables_get" id="BRJ*7NTHanJ(0mYxIgZP">
                     <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="CSzbUrdljdY[mU6V(Y9H">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="3TF}V:USjkEO{0|$k.HC">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="convert_jsonata" id="=ZN{fKMn7@2JC^*jQ1/8">
                         <value name="EXPRESSION">
                           <shadow type="text" id="8OI}[4dY`zbl|(X*@@%@">
                             <field name="TEXT">{"data":$.data#$i[$i&gt;0]}</field>
                           </shadow>
                         </value>
                         <value name="TARGET">
                           <block type="variables_get" id="8pAGf+2-KQ#4,J~^P=S~">
                             <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          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.

          M 2 Antworten Letzte Antwort
          1
          • mickymM mickym

            851aa659-fbfe-4f9b-b7d0-733c7c3e3627-image.png

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id=";po#/$v(8.UbHdHNkx[6">Objekt</variable>
             </variables>
             <block type="variables_set" id=":=#[V+q{~-1q78b_H^FF" x="-1137" y="-687">
               <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
               <value name="VALUE">
                 <block type="convert_json2object" id="?vV.vvxZ^NQN^_lWU1f}">
                   <value name="VALUE">
                     <block type="text" id="+fF--6Ew-2u1R;P~2mBq">
                       <field name="TEXT">{   "data": [     {       "Zeit-Beginn": "13:00"     }, {       "Zeit-Beginn": "14:00"     }, {       "Zeit-Beginn": "15:00"     }, {       "Zeit-Beginn": "16:00"     }   ] }</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="debug" id="Di9b3@!X-|w!(OH[MyQR">
                   <field name="Severity">log</field>
                   <value name="TEXT">
                     <shadow type="text" id="Qc!nM@ch{Sc_{l1rPEtk">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="variables_get" id="BRJ*7NTHanJ(0mYxIgZP">
                       <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                     </block>
                   </value>
                   <next>
                     <block type="debug" id="CSzbUrdljdY[mU6V(Y9H">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="3TF}V:USjkEO{0|$k.HC">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="convert_jsonata" id="=ZN{fKMn7@2JC^*jQ1/8">
                           <value name="EXPRESSION">
                             <shadow type="text" id="8OI}[4dY`zbl|(X*@@%@">
                               <field name="TEXT">{"data":$.data#$i[$i&gt;0]}</field>
                             </shadow>
                           </value>
                           <value name="TARGET">
                             <block type="variables_get" id="8pAGf+2-KQ#4,J~^P=S~">
                               <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            M Online
            M Online
            ManfredHi
            schrieb am zuletzt editiert von ManfredHi
            #6

            @mickym
            Es funktioniert. DANKE. nur ich versteh diese Syntax im JSONata Ausdruck überhaupt nicht.

            mickymM 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              851aa659-fbfe-4f9b-b7d0-733c7c3e3627-image.png

              <xml xmlns="https://developers.google.com/blockly/xml">
               <variables>
                 <variable id=";po#/$v(8.UbHdHNkx[6">Objekt</variable>
               </variables>
               <block type="variables_set" id=":=#[V+q{~-1q78b_H^FF" x="-1137" y="-687">
                 <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                 <value name="VALUE">
                   <block type="convert_json2object" id="?vV.vvxZ^NQN^_lWU1f}">
                     <value name="VALUE">
                       <block type="text" id="+fF--6Ew-2u1R;P~2mBq">
                         <field name="TEXT">{   "data": [     {       "Zeit-Beginn": "13:00"     }, {       "Zeit-Beginn": "14:00"     }, {       "Zeit-Beginn": "15:00"     }, {       "Zeit-Beginn": "16:00"     }   ] }</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="Di9b3@!X-|w!(OH[MyQR">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="Qc!nM@ch{Sc_{l1rPEtk">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="BRJ*7NTHanJ(0mYxIgZP">
                         <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="CSzbUrdljdY[mU6V(Y9H">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="3TF}V:USjkEO{0|$k.HC">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="convert_jsonata" id="=ZN{fKMn7@2JC^*jQ1/8">
                             <value name="EXPRESSION">
                               <shadow type="text" id="8OI}[4dY`zbl|(X*@@%@">
                                 <field name="TEXT">{"data":$.data#$i[$i&gt;0]}</field>
                               </shadow>
                             </value>
                             <value name="TARGET">
                               <block type="variables_get" id="8pAGf+2-KQ#4,J~^P=S~">
                                 <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
              </xml>
              

              M Online
              M Online
              ManfredHi
              schrieb am zuletzt editiert von
              #7

              @mickym
              noch eine Frage dazu: Was muss ich machen, wenn z.B. aus irgendeinem Grund das Script nicht gelaufen ist und dann z.B. nicht nur der Eintrag 0 sondern auch der nächste z.b. entfernt werden muss. Geht das mit einer Schleife oder so?

              mickymM 1 Antwort Letzte Antwort
              0
              • M ManfredHi

                @mickym
                Es funktioniert. DANKE. nur ich versteh diese Syntax im JSONata Ausdruck überhaupt nicht.

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #8

                @manfredhi Na Du kannst es auch ohne JSONATA machen - wird halt nur umständlicher.
                Wenn du es ohne JSONATA machst, dann musst Du auch aus dem ganzen ein Objekt machen.
                Aus diesem Objekt weist Du einer neuen Liste das Attribut data zu.
                Aus dieser Liste ermittelst Du die Anzahl Elemente
                Dann nimmst Du aus dieser Liste eine Teilliste vom 2. bis zur Anzahl Elemente.
                Dann wandelst Du das wieder in einen String und setzt "{'data':" + String + "}" dahinter. Dann hast Du in etwa das was wir in JSONATA gemacht haben.

                Ansonsten muss man es halt lernen.
                https://try.jsonata.org/R0PG0QFim

                fangen wir von Anfang an

                mit dem $ beziehst Du Dich auf das Ausgangobjekt. Also den Inhalt der Variable objekt.

                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.

                mickymM 1 Antwort Letzte Antwort
                0
                • M ManfredHi

                  @mickym
                  noch eine Frage dazu: Was muss ich machen, wenn z.B. aus irgendeinem Grund das Script nicht gelaufen ist und dann z.B. nicht nur der Eintrag 0 sondern auch der nächste z.b. entfernt werden muss. Geht das mit einer Schleife oder so?

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

                  @manfredhi Ja kannst Du machen - mit jedem Durchlauf wird das 1. Element entfernt. Oder Du kannst direkt mehrere Objekte entfernen in dem Du die Bedingung des Filters änderst.

                  Mit $i>1 wird das 0. und das 1. Element entfernt - in JS oder JSONATA beginnt man immer mit 0 zu zählen.

                  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 mickym

                    @manfredhi Na Du kannst es auch ohne JSONATA machen - wird halt nur umständlicher.
                    Wenn du es ohne JSONATA machst, dann musst Du auch aus dem ganzen ein Objekt machen.
                    Aus diesem Objekt weist Du einer neuen Liste das Attribut data zu.
                    Aus dieser Liste ermittelst Du die Anzahl Elemente
                    Dann nimmst Du aus dieser Liste eine Teilliste vom 2. bis zur Anzahl Elemente.
                    Dann wandelst Du das wieder in einen String und setzt "{'data':" + String + "}" dahinter. Dann hast Du in etwa das was wir in JSONATA gemacht haben.

                    Ansonsten muss man es halt lernen.
                    https://try.jsonata.org/R0PG0QFim

                    fangen wir von Anfang an

                    mit dem $ beziehst Du Dich auf das Ausgangobjekt. Also den Inhalt der Variable objekt.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #10

                    @mickym sagte in Ersten Eintrag aus JSON entfernen:

                    @manfredhi Na Du kannst es auch ohne JSONATA machen - wird halt nur umständlicher.
                    Wenn du es ohne JSONATA machst, dann musst Du auch aus dem ganzen ein Objekt machen.
                    Aus diesem Objekt weist Du einer neuen Liste das Attribut data zu.
                    Aus dieser Liste ermittelst Du die Anzahl Elemente
                    Dann nimmst Du aus dieser Liste eine Teilliste vom 2. bis zur Anzahl Elemente.
                    Dann wandelst Du das wieder in einen String und setzt "{'data':" + String + "}" dahinter. Dann hast Du in etwa das was wir in JSONATA gemacht haben.

                    Ansonsten muss man es halt lernen.
                    https://try.jsonata.org/R0PG0QFim

                    fangen wir von Anfang an

                    mit dem $ beziehst Du Dich auf das Ausgangobjekt. Also den Inhalt der Variable objekt.

                    Weiter $ beziehst Du Dich also auf das Ausgangsobjekt:

                    5d936055-1ee8-4462-9d58-f45e560dbaf6-image.png

                    mit $.data selektierst Du nun das Array das Dich interessiert:

                    972a1709-2b89-4496-b044-ff12613d19db-image.png

                    mit #$i setzt Du eine Variable, das Dir den Index zu jedem Element enthält

                    1a7a0bfc-aa64-44fc-b6eb-fc52d5954d8e-image.png

                    Nachdem wir nun eine Variable $i haben - können wir die Elemente herausfiltern, die uns interessieren. Also alle deren Index >0 sind.

                    Einen Filter definiert man einfach in eckigen Klammern:
                    20abdf3d-fd55-4285-9222-0374eb6bd1de-image.png

                    6471818f-ec22-46a7-8940-abc5024e5dac-image.png

                    Nun haben wir also das erste Element bereits entfernt. Das Ergebnis wollen wir aber wieder, wie das Ausgangsobjekt in einem Objekt mit der Eigenschaft "data" habe. Also brauchen wir das nur drum rum zu schreiben bei JSONATA und das wars schon.

                    0fd7e29e-f308-497d-b859-1a6a34908963-image.png

                    Damit wurde die ganze Magie schon erklärt.

                    Wie gesagt, wie es ohne JSONATA gehen kann, habe ich hier kurz angerissen: https://forum.iobroker.net/post/1102736

                    Solange es aber bei den Puzzleteilchen kein Teil gibt mit dem man Objekte erzeugen kann, ist das hoffnungslos umständlich.

                    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
                    • M Online
                      M Online
                      ManfredHi
                      schrieb am zuletzt editiert von
                      #11

                      Vielen Dank @mickym werd das jetzt mal genauer studieren und probieren.

                      M 1 Antwort Letzte Antwort
                      0
                      • M ManfredHi

                        Vielen Dank @mickym werd das jetzt mal genauer studieren und probieren.

                        M Online
                        M Online
                        ManfredHi
                        schrieb am zuletzt editiert von
                        #12

                        Hätte noch eine Frage zu den Schleifen: Immer wenn ich die Schleifen "wiederhole solange" oder "wiederhole bis" nehme, stürtzt die Javascript instanz ab.
                        Wie verwendet man diese Schleifen eigentlich richtig?

                        1 Antwort Letzte Antwort
                        0

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        466

                        Online

                        32.8k

                        Benutzer

                        82.8k

                        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