首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jayway JsonPath read long Java

Jayway JsonPath read long Java
EN

Stack Overflow用户
提问于 2018-07-12 16:18:43
回答 0查看 906关注 0票数 2

在JSON中,我收到一个unix时间戳:

代码语言:javascript
复制
{
  "order": {
    "date": 1531380888
  }
}

我想把这个值读入一个long,这样我就可以从中创建一个Date对象:

代码语言:javascript
复制
Configuration conf = Configuration.builder().mappingProvider(new JacksonMappingProvider())
    .jsonProvider(new JacksonJsonProvider()).build();
Object rawJson = conf.jsonProvider().parse(payload);
Long orderDate = JsonPath.read(rawJson, "$.order.date");

但是JSONPath坚持认为这个整数不能转换为long:

代码语言:javascript
复制
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long

有没有办法用Jsonpath读取Long,或者自动将这个unix时间戳转换成Java date对象?

导入:

代码语言:javascript
复制
import com.jayway.jsonpath.Configuration;
import com.jayway.jsonpath.JsonPath;
import com.jayway.jsonpath.spi.json.JacksonJsonProvider;
import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider;

整型的问题:最大值为Tuesday, January 19, 2038 3:14:07 AM GMT2147483647。无法使用Integer for unix时间戳。谢谢。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51300567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档