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.
    • paul53
      paul53 last edited by

      @Ingo1977:

      ReferenceError: Version is not defined at Request._callback (script.js.Scripts.Skript1:9:51) `
      In meinem Skript gibt es keine Zeichenpostion 51 in Zeile 9. Sorry, habe meine Glaskugel verlegt.

      Bitte Programm-Code und Log-Ausgaben in Code tags (5. Button ) posten !

      1 Reply Last reply Reply Quote 0
      • 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

                              584
                              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