auto mode to auto parse string to JS Object

This commit is contained in:
Stephen McLaughlin
2022-04-14 16:39:35 +01:00
committed by Steve-Mcl
parent 8f5d3dc49c
commit 78f456911a
8 changed files with 15 additions and 12 deletions

View File

@@ -235,8 +235,7 @@ module.exports = function(RED) {
if (v5isUtf8 || isUtf8(payload)) {
try {
payload = JSON.parse(payload.toString());
}
catch(e) {
} catch(e) {
node.error(RED._("mqtt.errors.invalid-json-parse"),{payload:payload, topic:topic, qos:packet.qos, retain:packet.retain}); return;
}
}
@@ -255,19 +254,23 @@ module.exports = function(RED) {
case "object":
try {
payload = JSON.parse(payload.toString());
}
catch(e) {
} catch(e) {
node.error(RED._("mqtt.errors.invalid-json-parse"),{payload:payload, topic:topic, qos:packet.qos, retain:packet.retain}); return;
}
break;
default:
if (v5isUtf8 || isUtf8(payload)) {
if (v5isUtf8 || isUtf8(payload)) {
payload = payload.toString(); //auto String
}
break;
}
} else if (isUtf8(payload)) {
payload = payload.toString(); //auto String
try {
payload = JSON.parse(payload);
} catch(e) {
/* mute error - it simply isnt JSON, just leave payload as a string */
}
} //else {
//leave as buffer
//}