NEWS
JSON String auswerten
-
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:22Besten Dank schon mal für eure Hilfe!
-
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:22Besten Dank schon mal für eure Hilfe!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden