Spring MVC返回json字符串時數據格式化

    在運用Spring MVC框架開發時,能夠直接在方法上添加註解 @ResponseBody 返回JSON數據,若是javabean的屬性中包含Date日期類型的數據,默認的轉換格式並非咱們想要的 yyyy-MM-dd 這樣的格式,那又如何實現這樣的格式轉化呢?java

    其實SpringMVC的JSON轉換方法是利用了 Jackson 這個開源的第三方類庫,它提供了一些自定義格式的方法。只要咱們繼承它的抽象類:public abstract class JsonSerializer<T>,並在相應的屬性方法上添加指定註解:@JsonSerialize 便可實現。spring

一、自定義一個格式化的類,實現如何對感興趣的字段進行格式化json

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;

/**
 * 日期類型格式化,格式化爲:yyyy-MM-dd 格式
 */
public class DateJsonSerializer extends JsonSerializer<Date> {
	@Override
	public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
			JsonProcessingException {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		String formattedDate = formatter.format(value);
		jgen.writeString(formattedDate);

	}
}


二、在要進行格式化的字段上標註 @JsonSerialize,並指定要使用的格式化類對象
mvc

@JsonSerialize(using=DateJsonSerializer.class)
@Column(name="BIRTHDAY")
public Date getBirthday() {
	return birthday;
}


三、ok搞定框架


參考博客:SpringMVC返回JSON數據時日期格式化問題 ide

相關文章
相關標籤/搜索