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