-
Notifications
You must be signed in to change notification settings - Fork 541
Closed
Labels
Milestone
Description
问题描述
fastjson 兼容使用getBigDecimal时报错,fastjson2无问题。
jsonArray.add(true);
jsonArray.getBigDecimal(0); // exception
环境信息
- OS信息: [MacOS 12.7.4 M1 Pro 16 GB]
- JDK信息: [Openjdk 17.0.6]
- 版本信息:[Fastjson2 2.0.51]
重现步骤
import com.alibaba.fastjson2.JSONArray;
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import java.math.BigInteger;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class fastjson_Issue673Mutated_310 {
@Test
public void mutatedTest() throws Exception {
JSONArray jsonArray = new JSONArray();
jsonArray.add(true);
assertEquals(BigDecimal.ONE, jsonArray.getBigDecimal(0));
}
@Test
public void mutatedTest_fj() throws Exception {
com.alibaba.fastjson.JSONArray jsonArray = new com.alibaba.fastjson.JSONArray();
jsonArray.add(true);
assertEquals(BigDecimal.ONE, jsonArray.getBigDecimal(0));
}
}
相关日志输出
com.alibaba.fastjson.JSONException: Can not cast 'class java.lang.Boolean' to BigDecimal
at com.alibaba.fastjson.JSONArray.getBigDecimal(JSONArray.java:213)