fix: 盐度取值错误,问题解决。

This commit is contained in:
tianyongbao
2026-04-10 12:06:02 +08:00
parent c9bc699f9c
commit c43c04c58a

View File

@@ -188,8 +188,12 @@ public class DeviceDataHandler {
try {
JSONObject data = new JSONObject(payload, JSONConfig.create().setIgnoreCase(false));
// 解析飞燕平台消息格式
JSONObject params = data.getJSONObject("params");
// 解析飞燕平台消息格式保持ignoreCase=false避免子对象丢失大小写配置
JSONObject params = null;
Object paramsObj = data.get("params");
if (paramsObj != null) {
params = new JSONObject(paramsObj.toString(), JSONConfig.create().setIgnoreCase(false));
}
// 从Topic中解析产品Key和设备名称
// Topic格式: /sys/{ProductKey}/{DeviceName}/thing/event/property/post
@@ -299,7 +303,12 @@ public class DeviceDataHandler {
try {
JSONObject data = new JSONObject(payload, JSONConfig.create().setIgnoreCase(false));
JSONObject params = data.getJSONObject("params");
// 保持ignoreCase=false避免子对象丢失大小写配置
JSONObject params = null;
Object paramsObj = data.get("params");
if (paramsObj != null) {
params = new JSONObject(paramsObj.toString(), JSONConfig.create().setIgnoreCase(false));
}
// 从Topic中解析产品Key、设备名称和事件标识符
// Topic格式: /sys/{ProductKey}/{DeviceName}/thing/event/{EventIdentifier}/post
@@ -2119,6 +2128,8 @@ public class DeviceDataHandler {
: params.getDouble("ph");
sensorData.setPh(value);
}
// 注意:忽略大小写时 containsKey("salinity") 会误匹配 salinitySet
// 已在取 params 时设置 ignoreCase=false精确匹配 "salinity" key不会取到 salinitySet
if (params.containsKey("salinity")) {
sensorData.setSalinity(params.getDouble("salinity"));
}