add methods

This commit is contained in:
Looly
2024-10-01 22:24:40 +08:00
parent 7f9db2bbdc
commit e67434c8cc
2 changed files with 31 additions and 9 deletions

View File

@@ -16,21 +16,34 @@
package org.dromara.hutool.json; package org.dromara.hutool.json;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class JSONFactoryTest { public class JSONFactoryTest {
@Test @Test
void parseFromStringBuilderTest() { void parseFromStringBuilderTest() {
final String jsonStr = "{\"name\":\"张三\"}"; final String jsonStr = "{\"name\":\"张三\"}";
final JSON parse = JSONFactory.getInstance().parse(new StringBuilder(jsonStr)); final JSON parse = JSONFactory.getInstance().parse(new StringBuilder(jsonStr));
Assertions.assertEquals(JSONObject.class, parse.getClass()); assertEquals(JSONObject.class, parse.getClass());
} }
@Test @Test
void parseFromStringTest() { void parseFromStringTest() {
final String jsonStr = "{\"name\":\"张三\"}"; final String jsonStr = "{\"name\":\"张三\"}";
final JSON parse = JSONFactory.getInstance().parse(jsonStr); 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());
} }
} }

View File

@@ -19,34 +19,43 @@ package org.dromara.hutool.json.issues;
import org.dromara.hutool.core.lang.Opt; import org.dromara.hutool.core.lang.Opt;
import org.dromara.hutool.core.map.MapUtil; import org.dromara.hutool.core.map.MapUtil;
import org.dromara.hutool.json.JSONUtil; import org.dromara.hutool.json.JSONUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.util.Optional; import java.util.Optional;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class Issue3681Test { public class Issue3681Test {
@Test @Test
void toJsonStrOfOptionalTest() { void toJsonStrOfOptionalTest() {
String abc = JSONUtil.toJsonStr(Optional.of("abc")); String abc = JSONUtil.toJsonStr(Optional.of("abc"));
Assertions.assertEquals("\"abc\"", abc); assertEquals("\"abc\"", abc);
// 默认解析
abc = JSONUtil.toJsonStr(Optional.of("123")); abc = JSONUtil.toJsonStr(Optional.of("123"));
Assertions.assertEquals("123", abc); assertEquals("123", abc);
// 按照字符串对待
abc = JSONUtil.toJSON(Optional.of("123")).toString();
assertEquals("\"123\"", abc);
} }
@Test @Test
void toJsonStrOfOptionalTest2() { void toJsonStrOfOptionalTest2() {
final String abc = JSONUtil.toJsonStr(Optional.of(MapUtil.of("a", 1))); final String abc = JSONUtil.toJsonStr(Optional.of(MapUtil.of("a", 1)));
Assertions.assertEquals("{\"a\":1}", abc); assertEquals("{\"a\":1}", abc);
} }
@Test @Test
void toJsonStrOfOptTest() { void toJsonStrOfOptTest() {
String abc = JSONUtil.toJsonStr(Opt.of("abc")); String abc = JSONUtil.toJsonStr(Opt.of("abc"));
Assertions.assertEquals("\"abc\"", abc); assertEquals("\"abc\"", abc);
abc = JSONUtil.toJsonStr(Opt.of("123")); abc = JSONUtil.toJsonStr(Opt.of("123"));
Assertions.assertEquals("123", abc); assertEquals("123", abc);
// 按照字符串对待
abc = JSONUtil.toJSON(Opt.of("123")).toString();
assertEquals("\"123\"", abc);
} }
} }