版本情况
JDK版本: openjdk_8_201
hutool版本: 5.2.0
问题描述(包括截图)
复杂对象使用cn.hutool.json.JSONUtil.toBean 时 BigDecimal类型精度丢失
复现代码
class Test {
public static void main(String[] args) {
WebCreate create = cn.hutool.json.JSONUtil.toBean("{\"create\":{\"details\":[{\"price\":1234.123456789123456}]}}", WebCreate.class);
System.out.println("create = " + create);
}
}
class WebCreate {
private Create create;
@Override
public String toString() {
return "WebCreate{" +
"create=" + create +
'}';
}
public void setCreate(Create create) {
this.create = create;
}
}
class Create {
@Override
public String toString() {
return "Create{" +
"details=" + details +
'}';
}
private List details;
public void setDetails(List details) {
this.details = details;
}
}
class Detail {
private BigDecimal price;
public void setPrice(BigDecimal price) {
this.price = price;
}
@Override
public String toString() {
return "Detail{" +
"price=" + price +
'}';
}
}
输出:create = WebCreate{create=Create{details=[Detail{price=1234.1234567891236}]}}
堆栈信息
测试涉及到的文件