zoukankan      html  css  js  c++  java
  • list转json的一些问题

    利用JSONArray转换list

    定义的model:

     1 package com.yds.model;
     2 
     3 import java.util.Date;
     4 
     5 
     6 
     7 public class DeviceHistory {
     8 
     9     private int id; 
    10     private Date acq_time; 
    11     
    12     
    13     
    14     public int getId() {
    15         return id;
    16     }
    17     public void setId(int id) {
    18         this.id = id;
    19     }
    20     public String getDevice_id() {
    21         return device_id;
    22     }
    23     
    24     public Date getAcq_time() {
    25         return acq_time;
    26     }
    27     public void setAcq_time(Date acq_time) {
    28         this.acq_time = acq_time;
    29     }
    30 
    31 }

    测试类:

    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进行转换

    测试类:

     1 import java.io.IOException;
     2 import java.util.ArrayList;
     3 import java.util.Date;
     4 import java.util.List;
     5 
     6 import org.codehaus.jackson.JsonGenerationException;
     7 import org.codehaus.jackson.map.JsonMappingException;
     8 import org.codehaus.jackson.map.ObjectMapper;
     9 import com.yds.model.DeviceHistory;
    10 
    11 public class Test {
    12     public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
    13         List<DeviceHistory> list = new ArrayList<DeviceHistory>();
    14         DeviceHistory dh = new DeviceHistory();
    15         dh.setAcq_time(new Date());
    16         list.add(dh);
    17         ObjectMapper objectMapper = new ObjectMapper();
    18         String json = objectMapper.writeValueAsString(list);
    19         System.out.println(json);
    20     }
    21 
    22 }

    打印结果为:

    [{"id":0,"acq_time":1439904893237}] 这样action也能执行下去了

  • 相关阅读:
    序列化和反序列化
    自定义表达式解析器
    科学计算法帮助类MathUtils
    struts2接收参数的几种形式
    在matlab中实现遥感影像和shp文件的结合显示
    opencv实现正交匹配追踪算法OMP
    opencv实现canopy算法
    在matlab中实现线性回归和logistic回归
    在matlab中实现梯度下降法
    在matlab中实现PCA算法
  • 原文地址:https://www.cnblogs.com/lzy1991/p/4740714.html
Copyright © 2011-2022 走看看