`

java与json日期问题

    博客分类:
  • Java
阅读更多
1、处理类:
public class DateJsonValueProcessor implements JsonValueProcessor{  
 
    private final String format="yyyy-MM-dd";  
    public Object processArrayValue(Object arg0, JsonConfig arg1) {  
        // TODO Auto-generated method stub  
        return null;  
    }  
 
    public Object processObjectValue(String key, Object value,JsonConfig arg2) {  
         if(value==null)    
               return "";     
            if (value instanceof Date) {     
               String str = new SimpleDateFormat(format).format((Date) value);     
               return str;     
            }     
         return value.toString();  
    }  
 

jsonlib调用
JsonConfig cfg = new JsonConfig();     
        cfg.registerJsonValueProcessor(java.util.Date.class,new DateJsonValueProcessor()) ;  
          
        JSONArray  jsonArray = JSONArray.fromObject(list,cfg); 
2、 首先要写一个新的类JsonDateValueProcessor如下:

view plaincopy to clipboardprint?
/**
* JSON 日期格式处理(java转化为JSON)
* @author Michael sun
*/
public class JsonDateValueProcessor implements JsonValueProcessor {

    /**
     * datePattern
     */
    private String datePattern = "yyyy-MM-dd";

    /**
     * JsonDateValueProcessor
     */
    public JsonDateValueProcessor() {
        super();
    }

    /**
     * @param format
     */
    public JsonDateValueProcessor(String format) {
        super();
        this.datePattern = format;
    }

    /**
     * @param value
     * @param jsonConfig
     * @return Object
     */
    public Object processArrayValue(Object value, JsonConfig jsonConfig) {
        return process(value);
    }

    /**
     * @param key
     * @param value
     * @param jsonConfig
     * @return Object
     */
    public Object processObjectValue(String key, Object value,
            JsonConfig jsonConfig) {
        return process(value);
    }

    /**
     * process
     * @param value
     * @return
     */
    private Object process(Object value) {
        try {
            if (value instanceof Date) {
                SimpleDateFormat sdf = new SimpleDateFormat(datePattern,
                        Locale.UK);
                return sdf.format((Date) value);
            }
            return value == null ? "" : value.toString();
        } catch (Exception e) {
            return "";
        }

    }

    /**
     * @return the datePattern
     */
    public String getDatePattern() {
        return datePattern;
    }

    /**
     * @param pDatePattern the datePattern to set
     */
    public void setDatePattern(String pDatePattern) {
        datePattern = pDatePattern;
    }

}

测试代码:

view plaincopy to clipboardprint?
JsonBean bean = new JsonBean();
bean.setName("NewBaby");
bean.setAge(1);
bean.setBorn(new Date());

JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class,new JsonDateValueProcessor());

JSONObject jo = JSONObject.fromObject(bean, jsonConfig);
System.out.println("bean->json:" + jo.toString());

打印结果:bean->json:{"age":1,"born":"2010-03-10","name":"NewBaby"}
这就能得到我们想要的结果了
1
0
分享到:
评论

相关推荐

    JSON转换为JAVA对象及日期格式转换处理 -

    JSON转换为JAVA对象及日期格式转换处理 -

    JAVA-JSON工具转换类

    它可以方便地将一种类型的数据转换成另一种类型,比如将字符串转成整数,日期转成字符串等,这对于JSON数据处理的灵活性至关重要。 `JsonUtil.java`看起来是一个自定义的工具类,很可能包含了对`json-lib`和`...

    java与json互相转换的jar包

    Java与JSON互相转换是开发过程中常见的需求,尤其是在服务器端与前端之间传递数据时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性、易写性和高效性,被广泛应用于Web服务。Java则是...

    java遍历JSON树

    3. **兼容性问题:** 不同的JSON库可能存在差异,开发时需确保所选库与项目需求相匹配。 通过以上介绍,我们可以看到,在Java中遍历JSON树并不复杂,但确实需要理解JSON的基本结构以及所使用的库的具体用法。希望...

    Java中使用Json

    JSON格式基于JavaScript的一个子集,但与语言无关,因此在各种编程语言中,包括Java,都有广泛的应用。本文将深入探讨在Java中如何使用JSON,以及其在实际开发中的应用场景。 首先,Java中处理JSON的主要工具有两个...

    JAVA操作JSON全套包,无需另外下载一次搞定

    1. **json-lib-2.2.3-jdk15.jar**:这是Json-lib库的一个版本,它是一个Java JSON处理器,支持多种Java集合和类型,如Map、List、Bean等与JSON之间的转换。通过Json-lib,你可以方便地将Java对象转换为JSON字符串,...

    JSON与JAVA数据的转换

    - 数据类型匹配:Java中的数据类型与JSON的类型不一定完全对应,如Java的日期在JSON中通常表示为字符串,需要额外处理。 - JSON的嵌套结构:如果Java对象包含嵌套的对象或数组,转换时要确保这些结构能在JSON中正确...

    Json与java对象之间相互转换源码

    在Java中,我们经常需要将JSON字符串与Java对象进行相互转换,以便于数据的传输和处理。本篇文章将详细探讨这个过程,以及如何使用常见的Java JSON库,如Gson和Jackson,进行JSON与Java对象的转换。 首先,让我们...

    java与json的API使用

    Java与JSON的API使用是开发过程中常见的数据交互方式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们通常使用Jackson、Gson、org....

    json转对象(java 多级嵌套)

    在Java编程中,处理JSON数据是常见的任务,特别是在处理多级嵌套结构时。本篇文章将详细探讨如何在Java中将JSON字符串转换为对象,特别关注多级嵌套的情况。 在Java中,我们可以使用多种库来解析和操作JSON,如...

    java对于Json文件的解析范例

    Java中,可以使用`java.util.Date`和`SimpleDateFormat`类进行时间戳与日期的相互转换。例如: ```java long timestamp = System.currentTimeMillis(); // 获取当前时间戳 Date date = new Date(timestamp); // ...

    java操作json实例

    如果需要自定义JSON与Java对象之间的映射,可以使用`@JsonSerialize`和`@JsonDeserialize`注解。例如,将日期转换为特定格式: ```java @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") ...

    处理JSON日期转换

    `setDataFormat2JAVA()`方法未给出具体实现,但根据上下文,我们可以推断这应该是设置JSON日期解析格式为Java友好的日期格式,例如`yyyy-MM-dd HH:mm:ss`,确保JSON中的日期能正确转换为Java的`Date`或`Calendar`...

    java解析json的jar包

    json-lib-2.4-jdk15.jar是主要的JSON处理库,它支持多种Java版本,并提供了多种数据类型与JSON之间的转换,例如Java对象、集合、数组等。使用json-lib,你可以将Java对象转换成JSON字符串,或者将JSON字符串反序列...

    java解析JSON所需的全部jar包

    Json-lib支持多种Java数据类型与JSON之间的转换,包括Java Bean、Collection(List、Set)、Map、Array等。它还支持将XML转换为JSON,并且可以将JSON反序列化为Java对象。 2. **commons-collections-3.2.1.jar**:...

    java解析json需要的包

    在开发过程中,可能还需要处理嵌套的JSON结构、数组、日期和其他复杂类型。各个库都有其特定的方法来处理这些情况。例如,Jackson提供`@JsonProperty`注解来指定对象字段与JSON键的映射关系,而Gson则使用`@...

    java中json处理的使用.doc

    在Java中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器向客户端传输数据或反之。JSON以其易于阅读和编写,同时也易于机器解析和生成,成为了Web服务中广泛采用的标准。本篇将探讨...

    Java解析Json所含的包

    这个类允许你配置JSON的序列化和反序列化行为,比如是否忽略空值,如何处理日期等。 6. `net.sf.json.xml.XMLSerializer`:如果你需要在JSON和XML之间进行转换,这个类可以派上用场。它可以将JSON对象转换为XML字符...

    json_lib使用实例:java对象与json字符串的互转

    在Java中,为了方便地进行JSON与Java对象之间的转换,我们常常会使用到一些库,比如`json-lib`。这个库提供了丰富的API,使得我们可以轻松地将Java对象转化为JSON字符串,以及将JSON字符串反序列化为Java对象。 ###...

Global site tag (gtag.js) - Google Analytics