如何防止杰克逊自动舍入大数字

时间:2016-10-24 06:58:37

标签: java spring jackson

我们正在使用Spring MappingJackson2HttpMessageConverter将我们的数据转换为json资源。

我们注意到,如果记录ID是一个很大的数字,例如:1234567891234567891,转换后的资源ID(记录ID是资源ID)会自动向上舍入到1234567891234568000。

似乎杰克逊无法处理更大的数字,或者是javascript / json数字表示中的某些限制?

以下是我们当前的MappingJackson2HttpMessageConverter配置

Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();

    DateFormat defaultResourceDateOutputFormat = new SimpleDateFormat(
            DEFAULT_INTERNAL_DATE_FORMAT);
    builder.dateFormat(defaultResourceDateOutputFormat);
    builder.timeZone(TimeZone.getDefault());
    builder.serializationInclusion(Include.NON_NULL);
    builder.featuresToDisable(
            DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    builder.defaultViewInclusion(Boolean.TRUE);

我已提到Large numbers erroneously rounded in Javascript  但不确定是由同样的原因造成的。

感谢任何反馈。提前致谢

0 个答案:

没有答案