Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/yudao-cloud
commit
4dabfea1df
|
|
@ -1,6 +1,7 @@
|
||||||
package cn.iocoder.yudao.module.iot.core.util;
|
package cn.iocoder.yudao.module.iot.core.util;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import cn.hutool.core.util.ClassUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ReflectUtil;
|
import cn.hutool.core.util.ReflectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
|
@ -83,6 +84,10 @@ public class IotDeviceMessageUtils {
|
||||||
if (params instanceof Map) {
|
if (params instanceof Map) {
|
||||||
return ((Map<?, ?>) params).get(fieldName);
|
return ((Map<?, ?>) params).get(fieldName);
|
||||||
}
|
}
|
||||||
|
// 跳过 JDK 内置类型,避免反射读取到内部字段(例如 JDK8 下 String#value 会返回 char[])
|
||||||
|
if (ClassUtil.isJdkClass(params.getClass())) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
return ReflectUtil.getFieldValue(params, fieldName);
|
return ReflectUtil.getFieldValue(params, fieldName);
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue