`
zl584521
  • 浏览: 5209 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Json-lib 如何转换日期格式的字段 json-->java

阅读更多
json-lib-2.2可以为对应的class注册解析类,记住一定要2.2,2.1有同步问题。切记切记。
写一个DateJsonValueProcessor.java

package anni.core.web.json;

import java.text.DateFormat;
import java.text.SimpleDateFormat;

import java.util.Date;

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;


/**
 * @author Lingo
 * @since 2007-08-02
 */
public class DateJsonValueProcessor implements JsonValueProcessor {
    public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";
    private DateFormat dateFormat;

    /**
     * 构造方法.
     *
     * @param datePattern 日期格式
     */
    public DateJsonValueProcessor(String datePattern) {
        try {
            dateFormat = new SimpleDateFormat(datePattern);
        } catch (Exception ex) {
            dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);
        }
    }

    public Object processArrayValue(Object value, JsonConfig jsonConfig) {
        return process(value);
    }

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

    private Object process(Object value) {
        return dateFormat.format((Date) value);
    }
}



然后在bean -> json的时候



    /**
     * write.
     *
     * @param bean obj
     * @param writer 输出流
     * @param excludes 不转换的属性数组
     * @param datePattern date到string转换的模式
     * @throws Exception 写入数据可能出现异常
     */
    public static void write(Object bean, Writer writer,
        String[] excludes, String datePattern) throws Exception {
        JsonConfig jsonConfig = configJson(excludes, datePattern);

        JSON json = JSONSerializer.toJSON(bean, jsonConfig);

        json.write(writer);
    }

    /**
     * 配置json-lib需要的excludes和datePattern.
     *
     * @param excludes 不需要转换的属性数组
     * @param datePattern 日期转换模式
     * @return JsonConfig 根据excludes和dataPattern生成的jsonConfig,用于write
     */
    public static JsonConfig configJson(String[] excludes,
        String datePattern) {
        JsonConfig jsonConfig = new JsonConfig();
        jsonConfig.setExcludes(excludes);
        jsonConfig.setIgnoreDefaultExcludes(false);
        jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
        jsonConfig.registerJsonValueProcessor(Date.class,
            new DateJsonValueProcessor(datePattern));

        return jsonConfig;
    }
分享到:
评论
1 楼 bplyn 2008-04-24  
能不能讲一下怎么用呀。

相关推荐

    json-lib-2.4-jdk15.jar

    json-lib是一个Java库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及将JSON数据转换回Java对象。 json-lib-2.4-jdk15.jar是json-lib的一个特定版本,适用于JDK 1.5环境。这个版本的库包含了...

    json-lib-2.2.2-jdk15.jar

    1. **JSON序列化与反序列化**:json-lib允许将Java对象转换为JSON字符串,反之亦然。例如,你可以将一个Java的HashMap转换成JSON格式,便于在网络上传输,或者将接收到的JSON字符串解析成Java对象,便于进一步处理。...

    json-lib-2.3-jdk15基础jar包合辑

    JSON库如json-lib是Java开发中处理JSON数据的重要工具。`json-lib-2.3-jdk15`是JSON库的一个特定版本,专为JDK 1.5设计,以确保与该版本的Java环境兼容。 ### JSON Lib简介 JSON Lib是一个Java库,它提供了将Java...

    关于Json-lib对日期型的转换解决方法

    通过这种方式,Json-lib将在处理日期字段时使用我们定义的格式。 在提供的`date.js`文件中,虽然我们无法直接查看JavaScript代码内容,但可以推测这可能是一个示例脚本,展示了如何在JavaScript环境中处理与日期...

    JSON-lib框架,转换JSON、XML不再困难

    JSON-lib是一个Java库,用于处理JSON(JavaScript Object Notation)和XML之间的转换。这个框架使得在Java应用程序中处理这两种数据格式变得简单。JSON是一种轻量级的数据交换格式,被广泛用于Web服务和前后端交互,...

    json-lib相关所有包

    1. **JSON序列化和反序列化**:json-lib提供了一系列API,可以将Java对象(如Java Bean、Map、Collection、数组等)轻松地转换成JSON字符串,反之也可以将JSON字符串解析回相应的Java对象。这对于数据交换非常有用,...

    json-lib-2.3-jdk15.jar和它的源码包

    `json-lib`是一个Java库,它提供了一种简单的方式来序列化和反序列化Java对象为JSON格式,反之亦然。这个库特别有用,因为它支持多种Java集合和类型,包括List、Map、数组等。 `json-lib-2.3-jdk15.jar`是`json-lib...

    json-lib-2.23

    4. **类型转换**:`json-lib`提供了一些工具类,如`JSONArray`和`JSONObject`,它们具有丰富的API,可以方便地进行JSON对象的操作,如添加、删除、修改元素,以及获取特定类型的值(如字符串、数字、日期等)。...

    JSON-lib

    JSON-lib提供了多种Java API,使得开发者能够方便地在Java对象和JSON格式之间进行转换。 在Java中,将JSON字符串解析成对象是常见的需求。JSON-lib通过以下几种方式实现了这一功能: 1. **JavaBeans到JSON**:你...

    json-lib-2.1-jdk15-javadoc.zip

    在实际开发中,JSON-Lib可以帮助Java开发者轻松地将Java对象转换为JSON字符串,或将JSON文本解析成Java对象。这对于Web服务、数据交换或者存储JSON格式的数据非常有用。例如,你可以用它来序列化Java对象以便在网络...

    java json-lib解决无循环的探索例子

    Java中的json-lib库是处理JSON数据的一个常用工具,它提供了将Java对象转换为JSON字符串以及从JSON字符串反序列化回Java对象的功能。然而,在处理复杂的嵌套数据结构时,如果不小心可能会导致无限循环的问题。 在...

    json-lib将json格式的字符串,转化为java对象的实例.docx

    2. **日期格式**:对于日期类型的字段,需要确保JSON字符串中的日期格式与Java中的日期格式相匹配。例如,文中提到的“yyyy-MM-dd HH:mm:ss”格式。 3. **异常处理**:在实际开发中,应妥善处理可能发生的异常,比如...

    使用json-lib进行Java和JSON之间的转换

    首先,json-lib是一个Java库,它提供了一系列的方法来将Java对象转换为JSON格式的字符串,以及将JSON格式的字符串反序列化回Java对象。这个库对于那些不支持原生JSON处理的旧版本JDK尤其有用,因为Java 6及以上版本...

    json-lib 使用总结--java对象转json字符串

    `json-lib` 是一个 Java 库,它提供了将 Java 对象转换为 JSON 格式以及将 JSON 解析回 Java 对象的功能。这篇博客文章将探讨 `json-lib` 的使用方法和关键特性。 首先,`json-lib` 支持多种类型的 Java 对象转换,...

    使用json-lib自定义复杂类型转换为Json字符串

    默认情况下,`json-lib`会尝试自动映射Java对象的字段到JSON键值对。例如,如果你有一个名为`Person`的类: ```java public class Person { private String name; private int age; // getters and setters } `...

    json-lib-2.4-jdk15

    `json-lib`是一个Java项目,它的主要功能是为Java开发者提供了一种方便快捷的方式来序列化和反序列化Java对象到JSON,以及将JSON数据转换回Java对象。`json-lib-2.4-jdk15`是该库的一个特定版本,针对JDK 1.5进行...

    struts2 相关jar包 包含json-lib-2.1.jar+struts2-json-plugin-2.1.8.1.jar

    json-lib是一个Java库,提供了将Java对象转换为JSON表示以及将JSON数据转换回Java对象的能力。对于Struts2,这个库使得应用程序能够轻松地处理JSON数据,例如在AJAX请求和响应中。 2. **struts2-json-plugin-2.1....

    java利用json-lib操作json

    总结起来,json-lib库为Java开发者提供了一种简单易用的方式来处理JSON数据,包括将Java对象转换为JSON格式,以及从JSON反序列化回Java对象。这对于进行Web服务开发或者需要与JSON格式数据交互的项目来说,是一个...

    json-lib-2.4-jdk15及其依赖jar包

    总之,JSON-lib是一个在老版本JDK环境下处理JSON数据的强大工具,通过它你可以方便地在Java对象和JSON格式之间进行转换,从而简化数据交换的过程。在项目中合理使用这些jar包,可以确保你的代码在兼容性方面表现良好...

    json-lib之jar包,源代码及API文档

    JSON-Lib是Java平台上处理JSON的一种库,它提供了一种简单的方式来将Java对象转换为JSON格式,反之亦然。这个资源包包含了`json-lib.jar`,这是JSON-Lib的核心库,以及JSON的API文档,方便开发者查阅和使用。 `json...

Global site tag (gtag.js) - Google Analytics