Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. JSON Daten auslesen

    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 Daten auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      Ingo1977 last edited by

      Hier der Code…

      var request = require('request');
      
      function versionen() {
          request('http://192.168.178.21/json', function(error,response, body) {
              if(error) log('Fehler request: ' + error, 'error');
              else {
                  var obj = JSON.parse(body);
                  log('Hardware-Version' + obj.Hardware-Version);
                  log('Firmware-Version' + obj.Firmware-Version);
              }    
          });
      }
      
      versionen(); // Skriptstart
      
      

      Und hier das Log dazu…

      07:34:07.094
      [info]
      javascript.0 Stop script script.js.Scripts.Skript1
      07:51:45.909
      [info]
      javascript.0 Start javascript script.js.Scripts.Skript1
      07:51:45.909
      [info]
      javascript.0 script.js.Scripts.Skript1: registered 0 subscriptions and 0 schedules
      07:51:45.974
      [error]
      javascript.0 ReferenceError: Version is not defined at Request._callback (script.js.Scripts.Skript1:9:51) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22) at emitTwo (events.js:126:13) at Request.emit (events.js:214:7) at Request. (/opt/iobroker/node_modules/request/request.js:1163:10) at emitOne (events.js:116:13) at Request.emit (events.js:211:7) at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1085:12) at Object.onceWrapper (events.js:313:30) at emitNone (events.js:111:20) 
      07:51:46.004
      [error]
      Caught by controller[0]: at Request._callback (script.js.Scripts.Skript1:9:51)
      
      
      1 Reply Last reply Reply Quote 0
      • Stabilostick
        Stabilostick last edited by

        Randbemerkung für JavaScript -> Objektbezeichner, Funktionen, Variablen. Bei selbst vergebenen Namen gelten folgende Regeln:

        sie dürfen keine Leerzeichen enthalten

        sie dürfen nur aus Buchstaben und Ziffern bestehen - das erste Zeichen muss ein Buchstabe sein; es sind Groß- und Kleinbuchstaben erlaubt. Groß- und Kleinschreibung werden unterschieden!

        sie dürfen keine deutschen Umlaute oder scharfes S enthalten

        sie dürfen als einziges Sonderzeichen den Unterstrich "_" enthalten

        sie dürfen nicht mit einem reservierten Wort identisch sein.

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

          @Stabilostick:

          sie dürfen als einziges Sonderzeichen den Unterstrich "_" enthalten `
          Stimmt, - ist nicht zulässig. Bei unzulässigen Bezeichnern muss man eine andere Schreibweise verwenden.

                      log('Hardware-Version ' + obj['Hardware-Version']);
                      log('Firmware-Version ' + obj['Firmware-Version']);
          
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by paul53

            @Stabilostick:

            Bei selbst vergebenen Namen gelten folgende Regeln:

            Die Regeln sind nicht ganz korrekt. Genauer:

            Ein Bezeichner darf nur aus Buchstaben, Dezimalziffern (0-9), dem Dollarzeichen ($) sowie dem Unterstrich (_) bestehen. Jedes dieser Zeichen darf an beliebiger Stelle vorkommen, mit Ausnahme der Ziffern, welche nicht an erster Stelle stehen dürfen. Groß- und Kleinbuchstaben werden unterschieden. Bezeichner dürfen nicht mit einem reservierten Wort identisch sein.

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

              Da war selfHTML (Quelle) wohl etwas lax. Einfach das $ zu unterschlagen 🙂

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

                @Stabilostick:

                Da war selfHTML (Quelle) wohl etwas lax. `
                Ja. https://molily.de/js/variablen.html#bezeichner.

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

                  Sehe schon Code wie „ein[emoji813]FürTiere“ vor mir. Wäre lustig mit Emoticons … [emoji12]

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

                    @Stabilostick:

                    Sehe schon Code wie „ein[emoji813]FürTiere“ vor mir. Wäre lustig mit Emoticons … [emoji12] `

                    Auch wenn es in JSON nicht erlaubt ist, als Variablenname geht sowas… (bitte nicht!)

                    https://mathiasbynens.be/notes/javascript-identifiers

                    The following are all examples of valid JavaScript variable names.
                    
                    // How convenient!
                    var π = Math.PI;
                    
                    // Sometimes, you just have to use the Bad Parts of JavaScript:
                    var ಠ_ಠ = eval;
                    
                    // Code, Y U NO WORK?!
                    var ლ_ಠ益ಠ_ლ = 42;
                    
                    // How about a JavaScript library for functional programming?
                    var λ = function() {};
                    
                    // Obfuscate boring variable names for great justice
                    var \u006C\u006F\u006C\u0077\u0061\u0074 = 'heh';
                    
                    // …or just make up random ones
                    var Ꙭൽↈⴱ = 'huh';
                    
                    // While perfectly valid, this doesn’t work in most browsers:
                    var foo\u200Cbar = 42;
                    
                    // This is *not* a bitwise left shift (`<<`):
                    var 〱〱 = 2;
                    // This is, though:
                    〱〱 << 〱〱; // 8
                    
                    // Give yourself a discount:
                    var price_9̶9̶_89 = 'cheap';
                    
                    // Fun with Roman numerals
                    var Ⅳ = 4;
                    var Ⅴ = 5;
                    Ⅳ + Ⅴ; // 9
                    
                    // Cthulhu was here
                    var Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠ = 'Zalgo';
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • Stabilostick
                      Stabilostick last edited by

                      Wenn alle Unicode-Buchstaben erlaubt sind warum klappt es dann mit dem - beim Objekt-Property nicht? - ist kein Buchstabe? Liegt’s am JSON.parse()?

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

                        @Stabilostick:

                        • ist kein Buchstabe? `
                          Richtig. - ist ein unerlaubtes Sonderzeichen.
                        1 Reply Last reply Reply Quote 0
                        • AlCalzone
                          AlCalzone Developer last edited by

                          @Stabilostick:

                          Wenn alle Unicode-Buchstaben erlaubt sind warum klappt es dann mit dem - beim Objekt-Property nicht? - ist kein Buchstabe? Liegt’s am JSON.parse()? `

                          • ist ein Minus.

                          Wäre es erlaubt, könnte JS nicht wissen, ob du mit - einen Teil der Eigenschaft meinst oder subtrahieren willst:

                          obj.lange-eigenschaft; // (obj.lange minus eigenschaft) oder (ist eigenschaft Teil des Namens)?
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • Stabilostick
                            Stabilostick last edited by

                            Super Erklärung für Ingo1977. Hoffentlich liest er noch mit 😉

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

                            Support us

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

                            439
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            6
                            27
                            9574
                            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