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

    技术2022-05-20  35

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


    最新回复(0)