Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]Hilfe bei JSON.parse

    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

    [gelöst]Hilfe bei JSON.parse

    This topic has been deleted. Only users with topic management privileges can see it.
    • Lenny.CB
      Lenny.CB Most Active last edited by

      ich brauche mal einen Schups in die richtige Richtung.

      folgendes habe ich:

      {"000147619644":{"ident":{"type":{"key_localized":"Gerätetyp","value_raw":1,"value_localized":"Waschmaschine"},"deviceName":"","deviceIdentLabel":{"fabNumber":"000147619644","fabIndex":"11"...........................
      

      ich brauche hier die Nummer gleich am Anfang.

      mit dem bekomme ich es nicht hin:

      var test = JSON.parse(body);
       log('test: ' + test.was.auch.immer);
      

      im Moment zerlege ich das und hole mir die Nummer. Muss mM. schöner gehen.

      test = (body.substring(body.indexOf('{"') + 2, body.indexOf('":{')));
      

      Vorab, vielen Dank für eure Hilfe!

      1 Reply Last reply Reply Quote 0
      • Peoples
        Peoples last edited by

        @Lenny.CB:

        ….

        Vorab, vielen Dank für eure Hilfe! `

        Ich kenne jetzt nicht den ganzen "string/json" den du auswerten möchtest.

        Ich habe mir den Teil den du eingestellt hast mal genommen und folgendes gab bei mir nur die nummer aus:

        log('test: ' + Object.keys(test));
        

        Wenn das nicht geht stelle mal bitte die ganze Zeile zur Verfügung dann kann ich noch weiter probieren

        1 Reply Last reply Reply Quote 0
        • Lenny.CB
          Lenny.CB Most Active last edited by

          @peoples:

          Wenn das nicht geht stelle mal bitte die ganze Zeile zur Verfügung dann kann ich noch weiter probieren `

          also hier mal die Zeile, Im Prinzip vom Original, aber wegen der Übersichtlichkeit um einige Punkte gekürzt.

          {"000147619644":{"Geraet":{"Typ":{"ValueRaw":1,"Value":"Ofen"},"GeraeteDaten":{"GeraeteNummer":"000147619644","TypeBezeichnung":"WMV963"}}}}
          

          noch ne kurze Erklärung:

          Ändern kann sich in der Zeile so gut wie Alles. Für mich wichtig ist die Zahl ganz am Anfang (000147619644).

          Das ist eine Seriennummer die ich zum Auslesen der restlichen Felder benötige.

          wenn ich die Zahl habe, kann ich Felder auslesen. z.B.

          log(obj['000147619644'].Geraet.GeraeteDaten.TypeBezeichnung);
          

          aber um soweit zu kommen, brauche ich die Zahl.

          ODER

          gibt es eine Art "Wildcard" für den Teil?

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

            @Lenny.CB:

            Für mich wichtig ist die Zahl ganz am Anfang `
            Versuche mal https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Object/keys

            var sn = Object.keys(obj)[0]; // Seriennummer als String
            
            1 Reply Last reply Reply Quote 0
            • Lenny.CB
              Lenny.CB Most Active last edited by

              @paul53:

              Versuche mal https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Object/keys

              var sn = Object.keys(obj)[0]; // Seriennummer als String
              ```` `  
              

              Mensch, es klappt. Und bis auf "[0]" ist es auch das Selbe was peoples geschrieben hat.

              Ich war halt wieder zu dusselig das zu schnallen.

              In meinem Fall, da nur eine Zahl da steht geht es auch ohne "[0]". Ich vermute, wären es mehr müsste man das zwingend mit angeben.

              Vielen Dank euch beiden!

              PS: paul ich habe da noch ein Problem, vielleich kannst du mir das kurz erklären. viewtopic.php?f=21&t=20986#p220265

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                die "[0]" ist die Zeile in der array, dein array hat nur 1 object dan klappt das, es fangt bei 0 zu zahlen an.

                also solange der string so bleibt OK, wen die json mal mit nem 2ten wert erweitert wird gehts schief

                1 Reply Last reply Reply Quote 0
                • Lenny.CB
                  Lenny.CB Most Active last edited by

                  @Dutchman:

                  die "[0]" ist die Zeile in der array, dein array hat nur 1 object dan klappt das, es fangt bei 0 zu zahlen an.

                  also solange der string so bleibt OK, wen die json mal mit nem 2ten wert erweitert wird gehts schief `
                  OK, dann gewöhne ich mir lieber an das immer mit rein zu nehmen.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  844
                  Online

                  31.8k
                  Users

                  79.9k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  415
                  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