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.
    • 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

                                        583
                                        Online

                                        31.7k
                                        Users

                                        79.9k
                                        Topics

                                        1.3m
                                        Posts

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