From e67434c8ccb5a79fe7f0ef014fe1516331e5c560 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 1 Oct 2024 22:24:40 +0800 Subject: [PATCH] add methods --- .../dromara/hutool/json/JSONFactoryTest.java | 19 ++++++++++++++--- .../hutool/json/issues/Issue3681Test.java | 21 +++++++++++++------ 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/JSONFactoryTest.java b/hutool-json/src/test/java/org/dromara/hutool/json/JSONFactoryTest.java index 23db2cd23..471b2418f 100644 --- a/hutool-json/src/test/java/org/dromara/hutool/json/JSONFactoryTest.java +++ b/hutool-json/src/test/java/org/dromara/hutool/json/JSONFactoryTest.java @@ -16,21 +16,34 @@ package org.dromara.hutool.json; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class JSONFactoryTest { @Test void parseFromStringBuilderTest() { final String jsonStr = "{\"name\":\"张三\"}"; final JSON parse = JSONFactory.getInstance().parse(new StringBuilder(jsonStr)); - Assertions.assertEquals(JSONObject.class, parse.getClass()); + assertEquals(JSONObject.class, parse.getClass()); } @Test void parseFromStringTest() { final String jsonStr = "{\"name\":\"张三\"}"; final JSON parse = JSONFactory.getInstance().parse(jsonStr); - Assertions.assertEquals(JSONObject.class, parse.getClass()); + assertEquals(JSONObject.class, parse.getClass()); + } + + @Test + void parseAsNumberTest() { + final JSON json = JSONFactory.getInstance().parse("123"); + assertEquals(Integer.class, json.asJSONPrimitive().getValue().getClass()); + } + + @Test + void toJSONTest() { + final JSON json = JSONFactory.getInstance().toJSON("123"); + assertEquals(String.class, json.asJSONPrimitive().getValue().getClass()); } } diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/issues/Issue3681Test.java b/hutool-json/src/test/java/org/dromara/hutool/json/issues/Issue3681Test.java index bce7e30d6..1b478d51b 100644 --- a/hutool-json/src/test/java/org/dromara/hutool/json/issues/Issue3681Test.java +++ b/hutool-json/src/test/java/org/dromara/hutool/json/issues/Issue3681Test.java @@ -19,34 +19,43 @@ package org.dromara.hutool.json.issues; import org.dromara.hutool.core.lang.Opt; import org.dromara.hutool.core.map.MapUtil; import org.dromara.hutool.json.JSONUtil; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.Optional; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class Issue3681Test { @Test void toJsonStrOfOptionalTest() { String abc = JSONUtil.toJsonStr(Optional.of("abc")); - Assertions.assertEquals("\"abc\"", abc); + assertEquals("\"abc\"", abc); + // 默认解析 abc = JSONUtil.toJsonStr(Optional.of("123")); - Assertions.assertEquals("123", abc); + assertEquals("123", abc); + + // 按照字符串对待 + abc = JSONUtil.toJSON(Optional.of("123")).toString(); + assertEquals("\"123\"", abc); } @Test void toJsonStrOfOptionalTest2() { final String abc = JSONUtil.toJsonStr(Optional.of(MapUtil.of("a", 1))); - Assertions.assertEquals("{\"a\":1}", abc); + assertEquals("{\"a\":1}", abc); } @Test void toJsonStrOfOptTest() { String abc = JSONUtil.toJsonStr(Opt.of("abc")); - Assertions.assertEquals("\"abc\"", abc); + assertEquals("\"abc\"", abc); abc = JSONUtil.toJsonStr(Opt.of("123")); - Assertions.assertEquals("123", abc); + assertEquals("123", abc); + // 按照字符串对待 + abc = JSONUtil.toJSON(Opt.of("123")).toString(); + assertEquals("\"123\"", abc); } }