【发布时间】:2021-12-27 12:04:48
【问题描述】:
我想在 spring mvc 应用程序中使用 mqtt 消息有效负载填充 Java pojo 类。我的代码是:
String messagePayload = (String) message.getPayload();
ObjectMapper objectMapper= new ObjectMapper();
Test test = null;
try {
test = objectMapper.readValue(messagePayload, Test.class);
} catch (IOException e) {
e.printStackTrace();
return;
}
MQTT MessagePayload 是{"name":"abc","age": 32},但是当它在变量 messagePayload 中转换为字符串时,它显示为 {name:abc,age:32}。你看,去掉所有的双引号。这个当去 try 块时会抛出一个错误
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('n' (code 110)): was expecting double-quote to start field name
at [Source: (String)"{name:abc,age:34}"; line: 1, column: 3]
我需要帮助将 MQTT 消息转换为 Java POJO 类。还有另一种方法吗?或者如何更正我现有的代码?
【问题讨论】:
-
message的 Object 类型是什么? -
你用的是什么库。
-
public uploadReading(Message> message){ codes are here} Message 是通用类型。我正在使用以下库: 1. Spring-Integration-mqtt-5.2.7 2.org.eclipse.paho.client.mqttv3-1.2.2\org.eclipse.paho.client.mqttv3-1.2.2
-
还添加
import ...部分。
标签: java spring spring-mvc mqtt message