MQTT 消息到 JSONObject

Nih*_*ius 1 java json mqtt

我想将以 JSON 格式收到的 MQTT 消息(例如: {"event":"value","type":"r","value":0} )转换为 JSONObject,但我不知道如何做吧。

我已经尝试过这个:

public void messageArrived(String t, MqttMessage m) throws Exception {
            String message = m.toString();
            JSONObject jsonmsg = (JSONObject) JSONObject.stringToValue(message); 
}
Run Code Online (Sandbox Code Playgroud)

但这并没有真正发挥作用。有办法做到吗?

Aar*_*ron 6

您应该使用该getPayload()方法检索消息的有效负载,该方法返回 a,byte[]因为 MQTT 不是纯文本协议。

然后,您可以按如下方式制作Stringabyte[]和 a JSONObjectString

JSONObject jsonmsg = new JSONObject(new String(m.getPayload());
Run Code Online (Sandbox Code Playgroud)