diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c96a209a..485e6801e 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.16.M1 (2023-03-14) +# 5.8.16.M1 (2023-03-17) ### 🐣新特性 * 【core 】 改进Calculator.conversion,兼容乘法符号省略写法(issue#2964@Github) @@ -15,6 +15,7 @@ * 【core 】 修复BeanUtil.hasGetter没有跳过getClass方法的问题(issue#I6MBS5@Gitee) * 【core 】 修复FileMagicNumber长度判断问题导致的越界异常(issue#I6MACI@Gitee) * 【core 】 修复DateUtil针对ISO8601时间格式部分场景下的解析存在问题(issue#2981@Github) +* 【core 】 修复JSONUtil.toBean可能的空指针问题(issue#2987@Github) ------------------------------------------------------------------------------------------------------------- # 5.8.15 (2023-03-09) diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java index 7b025ebe7..80d56f111 100755 --- a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java @@ -472,7 +472,11 @@ public class JSONUtil { * @since 4.3.2 */ public static T toBean(String jsonString, Type beanType, boolean ignoreError) { - return parse(jsonString, JSONConfig.create().setIgnoreError(ignoreError)).toBean(beanType); + final JSON json = parse(jsonString, JSONConfig.create().setIgnoreError(ignoreError)); + if(null == json){ + return null; + } + return json.toBean(beanType); } /**