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

list转json的一些问题

2015-08-18 21:40 676 查看
利用JSONArray转换list

定义的model:

package com.yds.model;

import java.util.Date;

public class DeviceHistory {

private int id;
private Date acq_time;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDevice_id() {
return device_id;
}

public Date getAcq_time() {
return acq_time;
}
public void setAcq_time(Date acq_time) {
this.acq_time = acq_time;
}

}


测试类:

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import net.sf.json.JSONArray;
import com.yds.model.DeviceHistory;

public class Test {
public static void main(String[] args) {
List<DeviceHistory> list = new ArrayList<DeviceHistory>();
DeviceHistory dh = new DeviceHistory();
dh.setAcq_time(new Date());
list.add(dh);
JSONArray json =JSONArray.fromObject(list);
System.out.println(json.toString());
}

}


打印结果为:

[{"acq_time":{"date":18,"day":2,"hours":21,"minutes":7,"month":7,"seconds":27,"time":1439903247640,"timezoneOffset":-480,"year":115},"id":0}]

开始时我用的JSONArray在action中进行list转换 发现到JSONArray json =JSONArray.fromObject(list);就执行不下去了,经过一番调发现是时间转换时出了问题,就换了jackson进行转换

测试类:

import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import com.yds.model.DeviceHistory;

public class Test {
public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
List<DeviceHistory> list = new ArrayList<DeviceHistory>();
DeviceHistory dh = new DeviceHistory();
dh.setAcq_time(new Date());
list.add(dh);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(list);
System.out.println(json);
}

}


打印结果为:

[{"id":0,"acq_time":1439904893237}] 这样action也能执行下去了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: