Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson将所有数字读取为BigDecimal_Java_Json_Jackson - Fatal编程技术网

Java Jackson将所有数字读取为BigDecimal

Java Jackson将所有数字读取为BigDecimal,java,json,jackson,Java,Json,Jackson,我们使用Jackson从文件系统读取json并将其解析到POJO POJO String name; Map<String,Object> map; getters/setters 问题 当我们在json(映射部分)中有数字时,它们会被转换为整数或双精度 enable(反序列化功能。使用大小数表示浮点数) 但这只适用于十进制数。没有将整数转换为BigDecimal的功能 问题: 我们是否有任何内置功能使ObjectMapper能够将所有数字读取到BigDecimal 如果我需要编写

我们使用Jackson从文件系统读取json并将其解析到POJO

POJO

String name;
Map<String,Object> map;
getters/setters
问题

当我们在json(映射部分)中有数字时,它们会被转换为整数或双精度

enable(反序列化功能。使用大小数表示浮点数)

但这只适用于十进制数。没有将整数转换为BigDecimal的功能

问题:

  • 我们是否有任何内置功能使ObjectMapper能够将所有数字读取到BigDecimal
  • 如果我需要编写自定义序列化程序,我需要为整个类编写它还是可以为映射字段编写它

  • 尝试将
    :BigDecimal:[dps]
    放在json中。例如:

    {
      "MY_BIG_D:BigDecimal:0" : 3
    }
    

    其中dps=小数点。

    是否
    使用大整数表示整数
    足够接近?您好,感谢您的快速响应,我尝试使用它,但它将数字转换为我们想要的大整数。确实如此。出于兴趣,为什么你需要它们是bigdecime?当然,但是如果它们实际上是整数值,那么
    bigdecimer
    对于任意数量的数字就足够了。我想说的是:为什么有些值是
    bigdecime
    ,而有些值是
    bigdecimer
    {
      "MY_BIG_D:BigDecimal:0" : 3
    }