您的位置:首页 > Web前端 > JavaScript

关于json转换bean,Date为当前系统时间的问题

2018-01-29 18:57 357 查看
近日,调用服务端webservice接口,返回json对象时,发现Date字段被转成时间戳格式。

客户端取到json数据,进行转换,该Date字段却是当前时间,百度了下,似乎是JSON(net.sf.json)不支持该格式的转换。

此时项目加上类,进行时间戳转换:public class TimestampToDateMorpher extends AbstractObjectMorpher{
public Object morph(Object value) {
if( value != null){
return new Date(Long.parseLong(String.valueOf(value)));
}
return null;
}

public Class morphsTo() {
return Date.class;
}

public boolean supports( Class clazz ){
return Long.class.isAssignableFrom( clazz );
}
}业务类里加上静态块:
static {
JSONUtils.getMorpherRegistry().registerMorpher(new TimestampToDateMorpher());
}
这时,下方的代码
JSONObject jobject = JSONObject.fromObject(Result);

JSONArray jarray = jobject.getJSONArray("list");
List list = JSONArray.toList(jarray, clazz.newInstance(), new JsonConfig());
转换得到的实体bean,Date字段已取到正常时间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐