0
我将简单的JSON字符串{"TMP":"-15.5826"}
发布到Web客户端。信息出现在message.payloadString
我可以在html中打印它,但我无法用JSON.parse()
解析消息。 obj
和data
是未定义的。这是主要问题,要解决这个问题我首先使用JSON.stringify()
这个时候解析消息但是data
仍然是未定义的。看起来stringify会添加额外的双引号并且使json字符串无效。 mqttws31.js是最新的,经纪人是蚊子1.4.4。我应该怎么做才能让JSON.parse()
工作?PAHO mqtt客户端(mqttws31.js)和JSON.parse()不起作用
出版是通过mosquitto命令:mosquitto_pub -t /main/SENSOR -m {"TMP":"-15.5826"}
function onMessageArrived(message) {
var topic = message.destinationName;
var payload = message.payloadString;
$('#ws').prepend('<li class=messagelist>' + topic + ' = ' + payload + '</li>');
var jsonString = JSON.stringify(payload);
obj = JSON.parse(jsonString); //parse with extra double quotes
//obj = JSON.parse(payload); //does not parse
var data = obj.TMP;
alert(data);
};
这是什么结果:'console.log(typeof payload,payload)'?字符串化和随后的解析没有任何意义。 – robertklep
字符串{TMP:15.5826} – thesubscriber
缺少引号。所以我出版了{\“TMP \”:“15.5826”} ..现在它的工作..非常感谢你。 – thesubscriber