JSONUtil支持对基本类型的转换

This commit is contained in:
Looly 2023-06-12 22:40:11 +08:00
parent 328a9d612f
commit add4a44039
2 changed files with 35 additions and 3 deletions

View File

@ -12,8 +12,9 @@
package org.dromara.hutool.json;
import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.convert.Convert;
import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.reflect.TypeReference;
import org.dromara.hutool.core.text.StrUtil;
@ -27,7 +28,10 @@ import org.dromara.hutool.json.writer.JSONValueWriter;
import org.dromara.hutool.json.writer.JSONWriter;
import org.dromara.hutool.json.xml.JSONXMLUtil;
import java.io.*;
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.lang.reflect.Type;
import java.nio.charset.Charset;
import java.util.List;
@ -388,7 +392,8 @@ public class JSONUtil {
return ((JSON) json).toBean(type);
}
throw new JSONException("Unsupported json string to bean : {}", json);
//issue#I7CW27其他类型使用默认转换
return Convert.convert(type, json);
}
// -------------------------------------------------------------------- toBean end

View File

@ -0,0 +1,27 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.json;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class IssueI7CW27Test {
@Test
void longToBeanTest() {
final String number = "123123123";
final Long bean = JSONUtil.toBean(number, Long.class);
Assertions.assertEquals(123123123L, bean);
}
}