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也能执行下去了

  • 相关阅读:
    Jquery练手 DEMO 全选 取消 反选 复选框 的实现
    ValidateTemplate(Label lb2, boolean iflag) {
    Android中更新UI的三种方式
    Doodle Android图片涂鸦,具有撤消、缩放、移动、添加文字,贴图等功能。还是一个功能强大,可自定义和可扩展的涂鸦框架、多功能画板。
    怎么用 javascript 实现拖拽
    System.Attribute 类的使用
    javascript 操作Cookie
    导航全局滑动JavaScript
    Sql server DATEADD() 函数
    类序列化
  • 原文地址:https://www.cnblogs.com/lzy1991/p/4740714.html
Copyright © 2011-2022 走看看