json对象的用法包括日期格式化
2011-06-01 11:32
344 查看
public static void main(String []arg) throws ParseException{
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray = JSONArray.fromObject( boolArray );
System.out.println( jsonArray );
// prints [true,false,true]
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray1 = JSONArray.fromObject( list );
System.out.println( jsonArray1 );
// prints ["first","second"]
JSONArray jsonArray2 = JSONArray.fromObject( "['json','is','easy']" );
System.out.println( jsonArray2 );
// prints ["json","is","easy"]
Date date1 = new Date();
SimpleDateFormat sf = new SimpleDateFormat ("yyyy/MM/dd");
String s = sf.format(date1);
JSONArray jsonray1 = JSONArray.fromObject("['"+s+"']");
System.out.println( jsonray1.toString() );
System.out.println( jsonray1);
//日期处理
EventDetails eventDetailItems = new EventDetails();
eventDetailItems.setDayId(1);
eventDetailItems.setDisplayKind(0);
eventDetailItems.setEventName("sb");
Date date = new Date();
eventDetailItems.setOccurrenceDate(date);
eventDetailItems.setRailroadXCode("tbc03");
eventDetailItems.setRailroadXName("日本人该死");
eventDetailItems.setReceivedDate(new Date());
eventDetailItems.setRowNo(0);
JsonValueProcessor jsonProcessor = new DateJsonValueProcessor();
JsonConfig jsonConfig = new JsonConfig();
//注册值处理器
jsonConfig.registerJsonValueProcessor(Date.class, jsonProcessor);
String json22 = JSONSerializer.toJSON(eventDetailItems , jsonConfig).toString();
System.out.println(json22);
Stbz0401UpdateOutputData updates = new Stbz0401UpdateOutputData();
List sssEventDetails= new ArrayList<EventDetails>();
for(int i = 0; i < 3 ;i++) {
EventDetails eventDetailItems = new EventDetails();
eventDetailItems.setDayId(1);
eventDetailItems.setDisplayKind(0);
eventDetailItems.setEventName("sb");
Date date = new Date();
String s1 = sf.format(date);
date = sf.parse(s1);
eventDetailItems.setOccurrenceDate(date);
eventDetailItems.setRailroadXCode("tbc03");
eventDetailItems.setRailroadXName("日本人该死");
eventDetailItems.setReceivedDate(new Date());
eventDetailItems.setRowNo(0);
sssEventDetails.add(eventDetailItems);
updates.setEventDetailItems(sssEventDetails);
}
//JSONArray json = JSONArray.fromObject( updates );
//System.out.println( json.toString() );
JsonValueProcessor jsonProcessor1 = new DateJsonValueProcessor();
JsonConfig jsonConfig1 = new JsonConfig();
//注册值处理器
jsonConfig1.registerJsonValueProcessor(Date.class, jsonProcessor1);
String json = JSONSerializer.toJSON(updates , jsonConfig1).toString();
System.out.println( json.toString() );
}
}
日期处理类
package com.nec.jp.railroadX.TBZ.TBZ04;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
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 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 instanceof Date) {
String str = new SimpleDateFormat(format).format((Date) value);
return str;
}
return value.toString();
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
}
bean类
package com.nec.jp.railroadX.TBZ.TBZ04;
import java.util.List;
import com.nec.jp.railroadX.TBZ.EventDetails;
/**
* Stbz0401UpdateActionの出力データ(JSONで、JavaScriptに引き渡される)、Stbz0401LogicBean.updateが作成する。
* @author wangjing
*/
public class Stbz0401UpdateOutputData {
// 追加イベントリスト
private List<EventDetails> eventDetailItems;
/**
* @return the eventDetailItems
*/
public List<EventDetails> getEventDetailItems() {
return eventDetailItems;
}
/**
* @param eventDetailItems the eventDetailItems to set
*/
public void setEventDetailItems(List<EventDetails> eventDetailItems) {
this.eventDetailItems = eventDetailItems;
}
}
//bean类
package com.nec.jp.railroadX.TBZ;
import java.util.Date;
import org.apache.struts2.json.annotations.JSON;
/**
* イベントを保持するクラス
* @author wangjing
*
*/
public class EventDetails {
// 番号
private int rowNo;
// 日付ID
private int dayId;
// 発生日時
private Date occurrenceDate;
// 受信日時
private Date receivedDate;
// 踏切コード
private String railroadXCode;
// 踏切名称
private String railroadXName;
// イベント名称
private String eventName;
// イベント表示区分
private int displayKind;
/**
* @return the rowNo
*/
public int getRowNo() {
return rowNo;
}
/**
* @param rowNo the rowNo to set
*/
public void setRowNo(int rowNo) {
this.rowNo = rowNo;
}
/**
* @return the dayId
*/
public int getDayId() {
return dayId;
}
/**
* @param dayId the dayId to set
*/
public void setDayId(int dayId) {
this.dayId = dayId;
}
/**
* @return the occurrenceDate
*/
@JSON(format="yyyy-MM-dd")
public Date getOccurrenceDate() {
return occurrenceDate;
}
/**
* @param occurrenceDate the occurrenceDate to set
*/
public void setOccurrenceDate(Date occurrenceDate) {
this.occurrenceDate = occurrenceDate;
}
/**
* @return the receivedDate
*/
@JSON(format="yyyy-MM-dd")
public Date getReceivedDate() {
return receivedDate;
}
/**
* @param receivedDate the receivedDate to set
*/
public void setReceivedDate(Date receivedDate) {
this.receivedDate = receivedDate;
}
/**
* @return the railroadXCode
*/
public String getRailroadXCode() {
return railroadXCode;
}
/**
* @param railroadXCode the railroadXCode to set
*/
public void setRailroadXCode(String railroadXCode) {
this.railroadXCode = railroadXCode;
}
/**
* @return the railroadXName
*/
public String getRailroadXName() {
return railroadXName;
}
/**
* @param railroadXName the railroadXName to set
*/
public void setRailroadXName(String railroadXName) {
this.railroadXName = railroadXName;
}
/**
* @return the eventName
*/
public String getEventName() {
return eventName;
}
/**
* @param eventName the eventName to set
*/
public void setEventName(String eventName) {
this.eventName = eventName;
}
/**
* @return the displayKind
*/
public int getDisplayKind() {
return displayKind;
}
/**
* @param displayKind the displayKind to set
*/
public void setDisplayKind(int displayKind) {
this.displayKind = displayKind;
}
}
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray = JSONArray.fromObject( boolArray );
System.out.println( jsonArray );
// prints [true,false,true]
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray1 = JSONArray.fromObject( list );
System.out.println( jsonArray1 );
// prints ["first","second"]
JSONArray jsonArray2 = JSONArray.fromObject( "['json','is','easy']" );
System.out.println( jsonArray2 );
// prints ["json","is","easy"]
Date date1 = new Date();
SimpleDateFormat sf = new SimpleDateFormat ("yyyy/MM/dd");
String s = sf.format(date1);
JSONArray jsonray1 = JSONArray.fromObject("['"+s+"']");
System.out.println( jsonray1.toString() );
System.out.println( jsonray1);
//日期处理
EventDetails eventDetailItems = new EventDetails();
eventDetailItems.setDayId(1);
eventDetailItems.setDisplayKind(0);
eventDetailItems.setEventName("sb");
Date date = new Date();
eventDetailItems.setOccurrenceDate(date);
eventDetailItems.setRailroadXCode("tbc03");
eventDetailItems.setRailroadXName("日本人该死");
eventDetailItems.setReceivedDate(new Date());
eventDetailItems.setRowNo(0);
JsonValueProcessor jsonProcessor = new DateJsonValueProcessor();
JsonConfig jsonConfig = new JsonConfig();
//注册值处理器
jsonConfig.registerJsonValueProcessor(Date.class, jsonProcessor);
String json22 = JSONSerializer.toJSON(eventDetailItems , jsonConfig).toString();
System.out.println(json22);
Stbz0401UpdateOutputData updates = new Stbz0401UpdateOutputData();
List sssEventDetails= new ArrayList<EventDetails>();
for(int i = 0; i < 3 ;i++) {
EventDetails eventDetailItems = new EventDetails();
eventDetailItems.setDayId(1);
eventDetailItems.setDisplayKind(0);
eventDetailItems.setEventName("sb");
Date date = new Date();
String s1 = sf.format(date);
date = sf.parse(s1);
eventDetailItems.setOccurrenceDate(date);
eventDetailItems.setRailroadXCode("tbc03");
eventDetailItems.setRailroadXName("日本人该死");
eventDetailItems.setReceivedDate(new Date());
eventDetailItems.setRowNo(0);
sssEventDetails.add(eventDetailItems);
updates.setEventDetailItems(sssEventDetails);
}
//JSONArray json = JSONArray.fromObject( updates );
//System.out.println( json.toString() );
JsonValueProcessor jsonProcessor1 = new DateJsonValueProcessor();
JsonConfig jsonConfig1 = new JsonConfig();
//注册值处理器
jsonConfig1.registerJsonValueProcessor(Date.class, jsonProcessor1);
String json = JSONSerializer.toJSON(updates , jsonConfig1).toString();
System.out.println( json.toString() );
}
}
日期处理类
package com.nec.jp.railroadX.TBZ.TBZ04;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
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 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 instanceof Date) {
String str = new SimpleDateFormat(format).format((Date) value);
return str;
}
return value.toString();
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
}
bean类
package com.nec.jp.railroadX.TBZ.TBZ04;
import java.util.List;
import com.nec.jp.railroadX.TBZ.EventDetails;
/**
* Stbz0401UpdateActionの出力データ(JSONで、JavaScriptに引き渡される)、Stbz0401LogicBean.updateが作成する。
* @author wangjing
*/
public class Stbz0401UpdateOutputData {
// 追加イベントリスト
private List<EventDetails> eventDetailItems;
/**
* @return the eventDetailItems
*/
public List<EventDetails> getEventDetailItems() {
return eventDetailItems;
}
/**
* @param eventDetailItems the eventDetailItems to set
*/
public void setEventDetailItems(List<EventDetails> eventDetailItems) {
this.eventDetailItems = eventDetailItems;
}
}
//bean类
package com.nec.jp.railroadX.TBZ;
import java.util.Date;
import org.apache.struts2.json.annotations.JSON;
/**
* イベントを保持するクラス
* @author wangjing
*
*/
public class EventDetails {
// 番号
private int rowNo;
// 日付ID
private int dayId;
// 発生日時
private Date occurrenceDate;
// 受信日時
private Date receivedDate;
// 踏切コード
private String railroadXCode;
// 踏切名称
private String railroadXName;
// イベント名称
private String eventName;
// イベント表示区分
private int displayKind;
/**
* @return the rowNo
*/
public int getRowNo() {
return rowNo;
}
/**
* @param rowNo the rowNo to set
*/
public void setRowNo(int rowNo) {
this.rowNo = rowNo;
}
/**
* @return the dayId
*/
public int getDayId() {
return dayId;
}
/**
* @param dayId the dayId to set
*/
public void setDayId(int dayId) {
this.dayId = dayId;
}
/**
* @return the occurrenceDate
*/
@JSON(format="yyyy-MM-dd")
public Date getOccurrenceDate() {
return occurrenceDate;
}
/**
* @param occurrenceDate the occurrenceDate to set
*/
public void setOccurrenceDate(Date occurrenceDate) {
this.occurrenceDate = occurrenceDate;
}
/**
* @return the receivedDate
*/
@JSON(format="yyyy-MM-dd")
public Date getReceivedDate() {
return receivedDate;
}
/**
* @param receivedDate the receivedDate to set
*/
public void setReceivedDate(Date receivedDate) {
this.receivedDate = receivedDate;
}
/**
* @return the railroadXCode
*/
public String getRailroadXCode() {
return railroadXCode;
}
/**
* @param railroadXCode the railroadXCode to set
*/
public void setRailroadXCode(String railroadXCode) {
this.railroadXCode = railroadXCode;
}
/**
* @return the railroadXName
*/
public String getRailroadXName() {
return railroadXName;
}
/**
* @param railroadXName the railroadXName to set
*/
public void setRailroadXName(String railroadXName) {
this.railroadXName = railroadXName;
}
/**
* @return the eventName
*/
public String getEventName() {
return eventName;
}
/**
* @param eventName the eventName to set
*/
public void setEventName(String eventName) {
this.eventName = eventName;
}
/**
* @return the displayKind
*/
public int getDisplayKind() {
return displayKind;
}
/**
* @param displayKind the displayKind to set
*/
public void setDisplayKind(int displayKind) {
this.displayKind = displayKind;
}
}
相关文章推荐
- json对象的用法包括日期格式化
- 对象转JSONArray,JSONObject[包括对象中日期格式化,属性过滤]
- AJAX JSON中日期类型DateTime格式化的序列化自定义对象以及自定义类型参数的问题处理
- Extjs4.x转换后台传过来的JSON日期为标准的日期对象_+数字格式化
- java--格式化json日期格式对象 相关实例代码
- 格式化后台传到页面的JSON中的日期对象
- 格式化json日期格式对象
- MVC 解决JSON日期格式化/JSON及匿名对象
- 日期格式化(包括日期对象和字符串)
- 黑马程序员之ASP.NET学习笔记: 分享Asp.net中具体的日期格式化用法
- 之前写的一个XML工具类,包括将JSON对象转换为XML对象
- Java 把日期时间字符串 格式化为Date对象
- Java中Json字符串直接转换为对象(包括多层List集合 嵌套)
- XStream实现xml和java对象之间的互相转换(包括对属性,别名,下划线_的处理),同理JSON也可以
- json格式的javascript对象用法分析
- JSONObject转Java对象,日期类型为空值时报错
- JSON Date Format (json的日期格式化)
- Asp.net中具体的日期格式化用法
- JSON对象的解析,JSON.stringify()/JSON.parse()的用法
- SpringMVC学习笔记(八):Ajax用法二(借助json传对象数据)