Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [teilgelöst] Parser: bestimmtes Feld aus json

    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

    [teilgelöst] Parser: bestimmtes Feld aus json

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @5tift last edited by

      @5tift sagte in [teilgelöst] Parser: bestimmtes Feld aus json:

      Zum Beispiel wenn Feld1 mit .test+2 endet hätte ich die Ausgabe von Feld2 mit 443.

      welches?

      5 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @5tift last edited by paul53

        @5tift sagte: Gibt es auch die Möglichkeit die unterschiedlichen Feld1 Positionen nach ihrem Inhalt zu selektieren.

        Ja, in einer Schleife. Kommen denn die Felder nicht immer in gleicher Reihenfolge in der Liste von "Feld4"?

        5 1 Reply Last reply Reply Quote 0
        • 5
          5tift @Homoran last edited by

          @homoran
          es sind die Positionen unter Feld4

          1 Reply Last reply Reply Quote 0
          • 5
            5tift @paul53 last edited by

            @paul53
            Die Werte / Felder können unter Umständen nach Inaktivität wieder am Ende angereiht werden, somit ist nur der Wert .xyz von Feld1 eindeutig.

            Homoran paul53 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @5tift last edited by

              @5tift ich verstehe es nicht.

              es gibt mehrere Elemente mit Feld1.xyz unter Feld 4

              um welches geht's denn

              5 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @5tift last edited by

                @5tift sagte: nur der Wert .xyz von Feld1 eindeutig.

                Die Schleife:

                Blockly_temp.JPG

                1 Reply Last reply Reply Quote 0
                • 5
                  5tift @Homoran last edited by 5tift

                  @homoran
                  Zum Beispiel von test+2 welches jetzt an vorletzter Position steht, welches später auch garnicht auftauchen kann, oder als letztes wenn wieder verfügbar.

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

                    @5tift Wenn Du JSONATA verwenden würdest, kannst Du auch die Felder nach Inhalt selektieren. Ich verstehe nicht, warum dieses Puzzleteil niemand nutzt. Das ist so genial für solche Aufgaben

                    https://try.jsonata.org/IoRsjO_JF

                    Hier einfach rumspielen und hier muss auch nichts eindeutig sein - bei Mehrdeutigkeit bekommst Du ein Array zurück

                    290d57ca-6761-4ee3-8a31-6697d1d9c5e2-image.png

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

                      @mickym sagte: warum dieses Puzzleteil niemand nutzt. Das ist so genial für solche Aufgaben

                      Man muss es erst einmal lernen. Das ist fast ein zusätzliche Programmiersprache.

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

                        @paul53 Ja aber dann sind doch das Gelegenheiten, dies den Anwendern näher zu bringen? Oder nicht?

                        paul53 Homoran 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @mickym last edited by

                          @mickym sagte: Gelegenheiten, dies den Anwendern näher zu bringen?

                          Gerade Blockly-Anwendern?

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

                            @paul53 Na ja wenn man es nur Leuten anbietet, die JS programmieren, dann hätte man den Puzzlebaustein im Blockly ja auch weglassen können.

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @mickym last edited by

                              @mickym sagte in [teilgelöst] Parser: bestimmtes Feld aus json:

                              @paul53 Ja aber dann sind doch das Gelegenheiten, dies den Anwendern näher zu bringen? Oder nicht?

                              das ist mit "ein wenig näher bringen" leider nicht getan.
                              ich hab auch schon mehrere Anläufe hinter mir, aber müsste jedesmal wieder Seiten wälzen.

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

                                @5tift

                                @5tift sagte in [teilgelöst] Parser: bestimmtes Feld aus json:

                                Eine Frage hätte ich noch an die Experten hier.
                                Gibt es auch die Möglichkeit die unterschiedlichen Feld1 Positionen nach ihrem Inhalt zu selektieren.
                                Zum Beispiel wenn Feld1 mit .test+2 endet hätte ich die Ausgabe von Feld2 mit 443.

                                {
                                 "Feld1": "Info",
                                 "Feld2": "123",
                                 "Feld3": "456",
                                 "Feld4": [
                                  {
                                   "Feld1": "Info1.test+1",
                                   "Feld2": "789",
                                   "Feld3": "432"
                                  },
                                  {
                                   "Feld1": "Info1.test+2",
                                   "Feld2": "443",
                                   "Feld3": "677"
                                  },
                                  {
                                   "Feld1": "Info1.test+3",
                                   "Feld2": "432",
                                   "Feld3": "436"
                                  }
                                 ]
                                }
                                

                                Vielen Dank und entspannte Feiertage.

                                3e4529ee-91ae-4849-b425-278725b5436d-image.png

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

                                  @homoran sagte in [teilgelöst] Parser: bestimmtes Feld aus json:

                                  @mickym sagte in [teilgelöst] Parser: bestimmtes Feld aus json:

                                  @paul53 Ja aber dann sind doch das Gelegenheiten, dies den Anwendern näher zu bringen? Oder nicht?

                                  das ist mit "ein wenig näher bringen" leider nicht getan.
                                  ich hab auch schon mehrere Anläufe hinter mir, aber müsste jedesmal wieder Seiten wälzen.

                                  Ok - ich halte mich wieder raus, trotzdem werde ich mal die Anwender bei dieser oder jener Gelegenheit darauf hinweisen, dass es die Möglichkeit gibt auch JSONATA unter Blockly zu nutzen. Ob sie es dann tun oder lassen, ist ja dann jedem selbst überlassen. Wie gesagt für solche Aufgabenstellungen, das Arbeiten mit Objekten und Arrays ist diese Bibliothek einfach genial und mit "einfachen" Anweisungen wirklich tolle Ergebnisse zu erreichen.

                                  Ja bei mir hat es auch lange gedauert und ich habe mich lange dagegen gesträubt, aber ich bin froh, dass ich es mir einigermaßen beigebracht habe und bin über die Ergebnisse und die Mächtigkeit dieser Bibliothek fasziniert.

                                  paul53 1 Reply Last reply Reply Quote 1
                                  • paul53
                                    paul53 @mickym last edited by

                                    @mickym sagte: auch JSONATA unter Blockly zu nutzen.

                                    Wenn du nicht nur darauf hinweist, sondern die Lösung präsentierst, wird sich sicher niemand beschweren.

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

                                      @paul53 sagte in [teilgelöst] Parser: bestimmtes Feld aus json:

                                      @mickym sagte: auch JSONATA unter Blockly zu nutzen.

                                      Wenn du nicht nur darauf hinweist, sondern die Lösung präsentierst, wird sich sicher niemand beschweren.

                                      Na mehr tu ich ja auch nicht. Also wenn der Anwender nichts mehr davon wissen will, dann bin ich jetzt still ... 😉

                                      1 Reply Last reply Reply Quote 0
                                      • 5
                                        5tift last edited by

                                        Ich bin offen für jeden Vorschlag bei dem man was lernen kann, im übrigen hätte ich auf eher weniger Resonanz heute zum Feiertag gerechnet.
                                        Wie immer hat die Antwort von @paul53 zum gewünschten Ergebnis geführt, was ich echt abgefahren finde.
                                        Werde mir aber auch die alternativen anschauen.

                                        Zunächst einmal vielen Dank an Euch.

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

                                          @5tift So würde das JSONATA im Blockly aussehen:

                                          fde97688-9e77-4d41-9cbc-d6301f52cb74-image.png

                                          auf die letzte Aufgabenstellung bezogen. Hier zum Import

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id=";po#/$v(8.UbHdHNkx[6">Objekt</variable>
                                           </variables>
                                           <block type="variables_set" id="7%T9W)O:ety#^0R/ox%2" x="-1137" y="-637">
                                             <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                                             <value name="VALUE">
                                               <block type="convert_json2object" id="}TGPsTM?[@]lV,iRratj">
                                                 <value name="VALUE">
                                                   <block type="text" id="ZE=WG[CGn12I9@)c/^V:">
                                                     <field name="TEXT">{  "Feld1": "Info",  "Feld2": "123",  "Feld3": "456",  "Feld4": [   {    "Feld1": "Info1.test+1",    "Feld2": "789",    "Feld3": "432"   },   {    "Feld1": "Info1.test+2",    "Feld2": "443",    "Feld3": "677"   },   {    "Feld1": "Info1.test+3",    "Feld2": "432",    "Feld3": "436"   }  ] }</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="debug" id="wVTLgzKN#^Dm3(%:ss}{">
                                                 <field name="Severity">log</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="wQT3X.t7#LZ{rnmq5Kuu">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="convert_jsonata" id="2,64.Pf(XUW-w6VTNU/A">
                                                     <value name="EXPRESSION">
                                                       <shadow type="text" id="~S}tI5vE7YthKc5^_)N2">
                                                         <field name="TEXT">$.Feld4[Feld1="Info1.test+2"].Feld2</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="TARGET">
                                                       <block type="variables_get" id="oxV$kE`G@3F2^Vi77kZ+">
                                                         <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Objekt</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                          </xml>
                                          

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

                                          Support us

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

                                          559
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          4
                                          33
                                          1121
                                          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