From 897bd5d8013f6e700b50046a34da00f774320c6d Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 26 Aug 2022 10:14:39 +0800 Subject: [PATCH] add test --- .../main/java/cn/hutool/json/JSONUtil.java | 23 ++++++++++++++++++ .../java/cn/hutool/json/Issue2564Test.java | 24 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 hutool-json/src/test/java/cn/hutool/json/Issue2564Test.java 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 a8ce84388..038bea4b7 100755 --- a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java @@ -567,6 +567,29 @@ public class JSONUtil { return JSONStrFormatter.format(jsonStr); } + /** + * JSON对象是否为空,以下情况返回true
+ * + * + * @param json JSONObject或JSONArray + * @return 是否为空 + */ + public static boolean isEmpty(final JSON json){ + if(null == json){ + return true; + } + if(json instanceof JSONObject){ + return ((JSONObject) json).isEmpty(); + } else if(json instanceof JSONArray){ + return ((JSONArray) json).isEmpty(); + } + return false; + } + /** * 是否为JSON类型字符串,首尾都为大括号或中括号判定为JSON字符串 * diff --git a/hutool-json/src/test/java/cn/hutool/json/Issue2564Test.java b/hutool-json/src/test/java/cn/hutool/json/Issue2564Test.java new file mode 100755 index 000000000..a70ec745d --- /dev/null +++ b/hutool-json/src/test/java/cn/hutool/json/Issue2564Test.java @@ -0,0 +1,24 @@ +package cn.hutool.json; + +import lombok.Getter; +import lombok.Setter; +import org.junit.Assert; +import org.junit.Test; + +public class Issue2564Test { + + /** + * 实力类 没有get set方法,不能被认为是一个bean + */ + @Test() + public void emptyToBeanTest(){ + final String x = "{}"; + final A a = JSONUtil.toBean(x, JSONConfig.of().setIgnoreError(true), A.class); + Assert.assertNull(a); + } + + @Getter + @Setter + public static class A{ + } +}