Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. JSON parsing (verschachtelt)

    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

    JSON parsing (verschachtelt)

    This topic has been deleted. Only users with topic management privileges can see it.
    • J.A.R.V.I.S.
      J.A.R.V.I.S. Developer last edited by J.A.R.V.I.S.

      @leif1 dein letztes Beispiel ist richtig. Probier mal nachstehendes.

      let values;
      try {
         values = JSON.parse(getState('mqtt.0.SmartHome.Wohnzimmer.Co2.SENSOR').val);
      } catch (e) {
         console.error('Cannot parse: ' + getState('mqtt.0.SmartHome.Wohnzimmer.Co2.SENSOR').val);
         return;
      }
      let co2 = values.MHZ19B.CarbonDioxide;
      

      J.A.R.V.I.S.

      1 Reply Last reply Reply Quote 1
      • L
        leif1 last edited by

        Danke @J-A-R-V-I-S

        Nun bekomme ich im log immer

        (856) Error in callback: SyntaxError: Identifier 'co2' has already been declared
        
        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @leif1 last edited by

          @leif1 sagte:

          Identifier 'co2' has already been declared

          Dann lösche die Deklaration in Zeile 17

             //variabele erstellen fuer meine 3 beispiel objecte
                  var co2;
          
          1 Reply Last reply Reply Quote 1
          • L
            leif1 last edited by

            Danke vielmals euch beiden, nun läuft es. Mir war nicht so ganz bewusst das "let" ebenfalls eine Variable deklariert. Man lernt nie aus 🙂

            1 Reply Last reply Reply Quote 0
            • J.A.R.V.I.S.
              J.A.R.V.I.S. Developer last edited by

              @leif1 das freut mich zu hören. Es gibt auch einige Unterschiede zwischen den beiden Möglichkeiten. Falls dich das näher interessiert, kannst du dir mal folgenden Artikel durchlesen (Unterschiede var und let). Ich würde sagen, dass let die schönere Variante ist.

              J.A.R.V.I.S.

              N 1 Reply Last reply Reply Quote 1
              • N
                Nahasapee @J.A.R.V.I.S. last edited by

                @J-A-R-V-I-S
                um die Verwirrung komplett zu machen ,
                dass würde auch gehen:

                 const tVal = {"Time":"2019-11-28T16:45:07","MHZ19B":{"Model":"B","CarbonDioxide":786,"Temperature":23.0},"TempUnit":"C"}
                 const { MHZ19B: { CarbonDioxide: co2 } } = tVal;
                 if(co2)
                   log(co2);
                

                guten nacht 😉

                AlCalzone 1 Reply Last reply Reply Quote 0
                • AlCalzone
                  AlCalzone Developer @Nahasapee last edited by

                  @Nahasapee Ist allerdings für eine einzelne Variable nicht unbedingt leserlicher 🙂

                  N 1 Reply Last reply Reply Quote 0
                  • N
                    Nahasapee @AlCalzone last edited by

                    @AlCalzone In der Kürze liegt die Würze. 😉

                    AlCalzone 1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer @Nahasapee last edited by

                      @Nahasapee kürzer ist es auch nicht 😅

                      const co2 = values.MHZ19B.CarbonDioxide;
                      const { MHZ19B: { CarbonDioxide: co2 } } = values;
                      

                      Imo macht diese Form der Destrukturierung nur bei mehreren Variablen Sinn.

                      N 1 Reply Last reply Reply Quote 0
                      • N
                        Nahasapee @AlCalzone last edited by

                        @AlCalzone sagte in JSON parsing (verschachtelt):

                        @Nahasapee kürzer ist es auch nicht

                        Mein Frau sagt immer auf die Länge kommt es nicht an! 🤥

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        738
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        javascript
                        5
                        11
                        850
                        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