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

java.util.Date 转json 时格式问题

阅读更多
在将java.util.Date 类型字段转为json时,获取时取到的为[object object],解决方法为:在讲对象转化为json格式是添加自定义的日期格式转化类,具体代码如下:
public class DateJsonValueProcessor implements JsonValueProcessor {
	private String format = "yyyy-MM-dd";

	public DateJsonValueProcessor() {
	}

	public DateJsonValueProcessor(String format) {
		this.format = format;
	}

	public Object processArrayValue(Object value, JsonConfig jsonConfig) {
		String[] obj = {};
		if(value!=null)
		{
			if (value instanceof Date[]) {
				SimpleDateFormat sf = new SimpleDateFormat(format);
				Date[] dates = (Date[]) value;
				obj = new String[dates.length];
				for (int i = 0; i < dates.length; i++) {
					obj[i] = sf.format(dates[i]);
				}
			}
		}
		return obj;
	}

	public Object processObjectValue(String key, Object value,
			JsonConfig jsonConfig) {
		if(value!=null)
		{
			if (value instanceof Date) {
				String str = new SimpleDateFormat(format).format((Date) value);
				return str;
			}
		}
		return value;
	}

	public String getFormat() {
		return format;
	}

	public void setFormat(String format) {
		this.format = format;
	}

}

使用方法:
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd"));

将json返回客户端
HttpServletResponse response = this.getHttpResponse();
		response.setContentType("text/plain;charset=UTF-8");
		response.setHeader("Cache-Control","no-cache");
		JsonConfig jsonConfig = new JsonConfig();
		jsonConfig.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor("yyyy-MM-dd"));
		try {
			response.getWriter().print(JSONObject.fromObject(conObj,jsonConfig));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
分享到:
评论

相关推荐

    java.util.Date到Json日期

    本篇文章将详细介绍如何将`java.util.Date`对象转换为符合特定格式的JSON字符串,从而实现更加标准化的数据交换。 #### 一、问题背景与目标 在Java中,`java.util.Date`类用于表示具体的时间点,它包含了毫秒级别...

    java-util大全.rar

    Java的`java.util.Date`和`java.time`包提供了处理日期和时间的方法。`SimpleDateFormat`用于格式化和解析日期,而Java 8引入的`LocalDate`, `LocalTime`, `LocalDateTime`等类提供了更强大、更易用的时间日期API。...

    JSON序列化与反序列化JAVA工具

    ajson.put("c", new java.util.Date()); ajson.toString(); } ji截至时间_i = java.util.Calendar.getInstance().getTimeInMillis(); System.out.print("阿里变量序列化时间:"); System.out.println(ji截至...

    json与java对象互转

    return new java.util.Date(json.getAsJsonPrimitive().getAsLong()); } } ``` 通过上述代码,我们可以看到自定义了`SQLDateSerializer`、`UtilDateSerializer`、`SQLDateDeserializer`和`UtilDateDeserializer`...

    JSON序列化及反序列化工具

    ajson.put("c", new java.util.Date()); ajson.toString(); } ji截至时间_i = java.util.Calendar.getInstance().getTimeInMillis(); System.out.print("阿里变量序列化时间:"); System.out.println(ji截至...

    java_code_for_common_functions.rar_JSON_java json_jquery_数据库 转换

    Java提供了`java.util.Date`和`java.time`包来处理日期和时间。在给定的代码中,可能包含了创建、比较和格式化日期的函数。例如,`formatDateTime()`函数可能使用`SimpleDateFormat`或`DateTimeFormatter`将日期...

    java遍历JSON树

    在Java中处理JSON通常需要借助第三方库,例如`json.org`或`fastjson`等。本示例代码使用的是`net.sf.json`包,该包来自`json-lib`项目,可以通过Maven或其他方式添加到项目中。 ```java import java.text....

    Java操作json的通用类

    import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import ...

    json格式转换demo

    return new SimpleDateFormat(DATE_FORMAT).parse(json.getAsString()); } catch (Exception e) { throw new JsonParseException("Cannot parse date", e); } } } // 使用GsonBuilder注册自定义的日期适配器 ...

    Json处理工具类

    - `java.sql.Date`: SQL日期处理。 - `java.text.ParseException`: 解析异常处理。 - `java.text.SimpleDateFormat`: 日期格式化。 - `java.util.ArrayList`: 动态数组实现。 - `java.util.List`: 定义列表接口。 - ...

    java jsonto对象互转

    import java.util.Date; import java.util.List; import net.sf.ezmorph.object.DateMorpher; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import ...

    java工具类

    - `java.util.Date`:代表日期和时间,但API设计有局限性。 - `java.time` 包:Java 8引入的新日期时间API,包括`LocalDate`、`LocalTime`、`LocalDateTime`等,功能更强大且易用。 4. **字符串处理工具类**: -...

    比较全的java工具类

    - `java.util.Date` 和 `java.util.Calendar`:这两个类是Java早期用于处理日期和时间的基础类,但设计上存在一些问题,如非线程安全和API复杂。 - `java.time` 包:Java 8引入的新时间日期API,包含`LocalDate`, ...

    java操作json的通用类

    在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。JSON是独立于语言的,但使用了类似于C家族的语言,包括Java,来解析和生成。在这个主题中...

    將JAVA數據類型轉換Json對象是日期類的處理

    在Java中,日期类主要有`java.util.Date`、`java.time.LocalDate`、`java.time.LocalDateTime`等。转换这些日期到JSON时,我们需要确保日期格式正确无误,否则可能会导致解析错误或者丢失时间信息。一种常见的做法是...

    java进行时间的转换

    首先,Java提供了一个内置的`java.util.Date`类来表示日期和时间,但它的API设计并不理想,容易导致线程安全问题和不精确的时间处理。因此,从Java 8开始,引入了`java.time`包,提供了更强大且易于使用的日期和时间...

    将c#的DateTime类转成java

    `DateTime`是C#中用于表示日期和时间的内置类型,而在Java中,相应的类型是`java.util.Date`和`java.time`包下的类,如`LocalDate`, `LocalTime`和`LocalDateTime`等。 C#的`DateTime`类提供了一系列方法和属性来...

    eclipse-json相关jar包

    在Java开发中,Eclipse是一个广泛使用的集成开发环境(IDE),尤其在处理Java应用程序时表现出色。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web服务和客户端之间的数据通信。本...

    java对于Json文件的解析范例

    在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输。本文将深入探讨如何使用Java解析JSON文件,包括所需的库、时间戳转换和文件读写操作,以及ArrayList类中可能...

    XStream的Date转换 @XStreamConverter DateConverter

    在处理日期时,XStream默认的转换策略可能无法满足所有需求,例如默认格式可能不符合项目规范,或者需要处理时区问题。这时,我们可以自定义一个DateConverter,用`@XStreamConverter`注解标记,以替换默认的转换器...

Global site tag (gtag.js) - Google Analytics