Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. JavaScript
  5. JSON parsing (verschachtelt)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    381

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    606

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

JSON parsing (verschachtelt)

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
11 Beiträge 5 Kommentatoren 1.1k Aufrufe 3 Watching
  • Ä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.
  • J.A.R.V.I.S.J Offline
    J.A.R.V.I.S.J Offline
    J.A.R.V.I.S.
    Developer
    schrieb am zuletzt editiert von J.A.R.V.I.S.
    #2

    @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 Antwort Letzte Antwort
    1
    • L Offline
      L Offline
      leif1
      schrieb am zuletzt editiert von
      #3

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

      Nun bekomme ich im log immer

      (856) Error in callback: SyntaxError: Identifier 'co2' has already been declared
      
      paul53P 1 Antwort Letzte Antwort
      0
      • L leif1

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

        Nun bekomme ich im log immer

        (856) Error in callback: SyntaxError: Identifier 'co2' has already been declared
        
        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #4

        @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;
        

        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
        1
        • L Offline
          L Offline
          leif1
          schrieb am zuletzt editiert von
          #5

          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 Antwort Letzte Antwort
          0
          • J.A.R.V.I.S.J Offline
            J.A.R.V.I.S.J Offline
            J.A.R.V.I.S.
            Developer
            schrieb am zuletzt editiert von
            #6

            @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 Antwort Letzte Antwort
            1
            • J.A.R.V.I.S.J J.A.R.V.I.S.

              @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 Offline
              N Offline
              Nahasapee
              schrieb am zuletzt editiert von
              #7

              @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 ;)

              AlCalzoneA 1 Antwort Letzte Antwort
              0
              • N Nahasapee

                @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 ;)

                AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #8

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

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                N 1 Antwort Letzte Antwort
                0
                • AlCalzoneA AlCalzone

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

                  N Offline
                  N Offline
                  Nahasapee
                  schrieb am zuletzt editiert von
                  #9

                  @AlCalzone In der Kürze liegt die Würze. ;)

                  AlCalzoneA 1 Antwort Letzte Antwort
                  0
                  • N Nahasapee

                    @AlCalzone In der Kürze liegt die Würze. ;)

                    AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #10

                    @Nahasapee kürzer ist es auch nicht :sweat_smile:

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

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

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                    N 1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA AlCalzone

                      @Nahasapee kürzer ist es auch nicht :sweat_smile:

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

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

                      N Offline
                      N Offline
                      Nahasapee
                      schrieb am zuletzt editiert von
                      #11

                      @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! :lying_face:

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      720

                      Online

                      32.6k

                      Benutzer

                      81.9k

                      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