zoukankan      html  css  js  c++  java
  • 对象(含有java.util.Date),集合等转换成json

    json格式化自带类

    package A.test;
    
    import java.text.SimpleDateFormat;   
    import java.util.Date;   
    import java.util.Locale;   
      
    import net.sf.json.JsonConfig;   
    import net.sf.json.processors.JsonValueProcessor;   
      
    public class JsonDateValueProcessor implements JsonValueProcessor {   
      
        private String format ="yyyy-MM-dd";   
           
        public Object processArrayValue(Object value, JsonConfig config) {   
            return process(value);   
        }   
      
        public Object processObjectValue(String key, Object value, JsonConfig config) {   
            return process(value);   
        }   
           
        private Object process(Object value){   
               
            if(value instanceof Date){   
                SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.UK);   
                return sdf.format(value);   
            }   
            return value == null ? "" : value.toString();   
        }   
    }

    2.测试类

    package A.test;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import net.sf.json.JSON;
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    import net.sf.json.JSONSerializer;
    import net.sf.json.JsonConfig;
    //转换时间格式后--需要commons-beanutils.jar,commons-collections-3.2.1.jar,commons-lang.jar,commons-logging-1.0.4.jar
    //ezmorph-1.0.1.jar,json-lib-2.4-jdk15.jar
    
    public class Json {
        // 不转换时间
        // public static void main(String[] args) {
        // Student st = new Student();
        // st.setName("张翠山");
        // st.setTeacher("张三丰");
        // st.setTime(new Date());
        // JSON jo = JSONSerializer.toJSON(st);
        // System.out.println("json:" + jo.toString());
        // }
        // 对象转换
        // public static void main(String[] args) {
        // Student st = new Student();
        // st.setName("张翠山");
        // st.setTeacher("张三丰");
        // st.setTime(new Date());
        //
        // JsonConfig jsonConfig = new JsonConfig();
        // //JsonConfig是net.sf.json.JsonConfig中的这个,为固定写法
        // jsonConfig.registerJsonValueProcessor(Date.class , new
        // JsonDateValueProcessor());
        // JSONArray jo = JSONArray.fromObject(st, jsonConfig);
        // System.out.println("json:" + jo.toString());
        // }
        // 集合转换
        // public static void main(String[] args) {
        // List<Object> list = new ArrayList<Object>();
        // Date date = new Date();
        // System.out.println(date);
        // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH:mm:ss");
        // String s= sdf.format(date);
        // System.out.println(s);
        // // try {
        // // Date d = sdf.parse(s);
        // // System.out.println(d);
        // list.add(0,s);
        // // } catch (ParseException e) {
        // // TODO Auto-generated catch block
        // // e.printStackTrace();
        // // }
        // list.add(1,"张三");
        // list.add(2,2);
        // list.add(3,"李四");
        // list.add(4,date);
        // JsonConfig jsonConfig = new JsonConfig();//JsonConfig是net.sf.json.JsonConfig中的这个,为固定写法
        // jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());
        // JSONArray jo = JSONArray.fromObject(list, jsonConfig);
        // System.out.println("json:" + jo.toString());
        // }
        // 集合转换
        public static void main(String[] args) {
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            Map<String, Object> s1 = new HashMap<String, Object>();
            s1.put("name", "jim");
            s1.put("age", "15");
            s1.put("time", new Date());
            list.add(s1);
            Map<String, Object> s2 = new HashMap<String, Object>();
            s2.put("name", "lucy");
            s2.put("age", "12");
            s2.put("time", new Date());
            list.add(s2);
            JsonConfig jsonConfig = new JsonConfig();
            jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());
            JSONArray jo = JSONArray.fromObject(list, jsonConfig);
            System.out.println("json:" + jo.toString());
        }
    }

    3.测试类中的实体类

    package A.test;
    
    import java.util.Date;
    
    public class Student {
        private String name;
        private String teacher;
        private Date time;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getTeacher() {
            return teacher;
        }
        public void setTeacher(String teacher) {
            this.teacher = teacher;
        }
        public Date getTime() {
            return time;
        }
        public void setTime(Date time) {
            this.time = time;
        }
        
        
    }

    4.自己反复测试过,100%可以使用。主要是针对java.util.Date时间格式.

  • 相关阅读:
    vim配置文件解析
    VIM使用技巧5
    补不manjaro系统
    linux下终端录制
    VIM的修炼等级
    VIM使用技巧4
    64位linux 汇编
    linux下编译安装gcc5.1
    Git学习笔记
    HTML实体符号代码速查表
  • 原文地址:https://www.cnblogs.com/Nbge/p/2617127.html
Copyright © 2011-2022 走看看