如何从 MQTT 消息负载中获取对象
How to get Object from MQTT message payload
在收到 mqtt 消息时,我正在尝试从有效负载 (byte[]) 中获取对象
Object ob = SerializationUtils.deserialize(message.getPayload());
我得到:
org.apache.commons.lang.SerializationException: java.io.StreamCorruptedException: invalid stream header: 7B22736E
at org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:168)
at org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:193)
您需要一个 JSON 解析器,而不是 Apache Commons 序列化库。
类似于 JSON.org 解析器
JSONObject obj = new JSONObject(msg.toString());
在收到 mqtt 消息时,我正在尝试从有效负载 (byte[]) 中获取对象
Object ob = SerializationUtils.deserialize(message.getPayload());
我得到:
org.apache.commons.lang.SerializationException: java.io.StreamCorruptedException: invalid stream header: 7B22736E
at org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:168)
at org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:193)
您需要一个 JSON 解析器,而不是 Apache Commons 序列化库。
类似于 JSON.org 解析器
JSONObject obj = new JSONObject(msg.toString());