如何从 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());