您的位置:首页 > Web前端 > JavaScript

json对象的用法包括日期格式化

2011-06-01 11:32 302 查看
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;
}

}

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;
}

}
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: