在JSON中,我收到一个unix时间戳:
{
"order": {
"date": 1531380888
}
}我想把这个值读入一个long,这样我就可以从中创建一个Date对象:
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:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long有没有办法用Jsonpath读取Long,或者自动将这个unix时间戳转换成Java date对象?
导入:
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 GMT的2147483647。无法使用Integer for unix时间戳。谢谢。
https://stackoverflow.com/questions/51300567
复制相似问题