Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JSON String auswerten

    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 String auswerten

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

      Hi Leute, ich weiß nicht mehr weiter....

      ich möchte gerne folgenden JSON String durchsuchen und dabei den Wert von TEMPS.0.Chip mit rund 80° finden.
      mit der Variante einen Festen "String" in den json_parsen zu schmeißen läuft alles.... wenn ich den String durch eine Variable ersetze klappt es nicht 😞

      JSON String

      {"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}
      

      und habe dafür folgenden Code in Blockly erzeugt

      async function json_parser(input, json_path) {
          log(input);
          let obj = JSON.parse(input);
          let var_chip = getAttr(obj, 'TEMPS.0.Chip'); // designed for Blockly
          log(var_chip1 = getAttr(obj, json_path)); // designed for Blockly
          return var_chip;
      }
      
      exec('echo \'{"command":"temps"}\' | nc S9-2 4028', async function (error, result, stderr) {
          json_input = ('' + result);
        console.log((await json_parser('{"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}', 'TEMPS.0.Chip')));
        console.log((await json_parser(json_input, 'TEMPS.0.Chip')));
      });
      console.log("exec: " + 'echo \'{"command":"temps"}\' | nc S9-2 4028');
      

      dazu kommt der output

      00:14:38.412	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: registered 0 subscriptions and 0 schedules
      00:14:38.417	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: {"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}
      00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: 80.25
      00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: 80.25
      00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: {"STATUS":[{"STATUS":"S","When":1639437278,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.125,"Chip":82.6875},{"TEMP":2,"ID":8,"Board":61.375,"Chip":84.0}],"id":1}
      00:14:38.419	error	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: SyntaxError: Unexpected token  in JSON at position 292
      00:14:38.419	error	javascript.1 (32412) at json_parser (script.js.Instanz_0_debug.miner_werte_auslesen:76:20)
      00:14:38.420	error	javascript.1 (32412) at script.js.Instanz_0_debug.miner_werte_auslesen:88:22
      

      Besten Dank schon mal für eure Hilfe!

      Danny 0 1 Reply Last reply Reply Quote 0
      • Danny 0
        Danny 0 @Danny 0 last edited by

        @danny-0 Habe das Problem in Griff bekommen... beim Auswerten über den exec Befehl war ein Leerzeichen am Ende. Das habe ich entfernt und schon läuft es 🙂

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

        Support us

        ioBroker
        Community Adapters
        Donate

        471
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        1
        2
        208
        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