2

Sourceforges JSON-lib (http://json-lib.sourceforge.net) は、次のような JSON 日付形式を生成します。

{
    "date":10,
    "day":5,
    "hours":0,
    "minutes":0,
    "month":5,
    "nanos":0,
    "seconds":0,
    "time":1307660400000,
    "timezoneOffset":-60,
    "year":111 //this is 2011
}

これを Javascript 日付オブジェクトに変換する簡単な方法はありますか、それとも日付オブジェクトのすべての変数を手動で設定する必要がありますか?

私は運がないのでこれを見つけるためにあちこち検索しました!(答えがどこかに転がっている場合は申し訳ありませんが、私はそれを見つけることができないようです)

4

2 に答える 2

1

時間はミリ秒単位のエポックのように見えるので、次のようにすることができます:new Date(object['time'])

もちろん、これを最初にオブジェクトに解析する必要があります。

于 2012-11-15T15:41:36.027 に答える
0

json-lib プロジェクトのホームページには、 Dateの処理を​​説明する例はないようですが、json-lib の API を検索すると、ようやく答えが得られます。

ここでは、以下のメソッドを使用してjava.util.Dateクラスを処理できます。独自のフォーマット パターンを定義し、JsonConfigを使用して、 Dateクラスの処理に使用されるカスタム JsonValueProcessor を登録できます。

public static final JSON serializerObjWithFormatDate(Object javaObj){
    
    String pattern = "yyyy-MM-dd HH:mm:ss";
    
    final SimpleDateFormat fm =  new SimpleDateFormat(pattern);
    
    JsonConfig jsonCfg = new JsonConfig();
    
    jsonCfg.registerJsonValueProcessor(Date.class, new JsonValueProcessor() {
        
        @Override
        public Object processObjectValue(String key, Object value, JsonConfig cfg) {
            if (value == null) {  
                  return "";  
            } else {  
                  return fm.format((Date)value);
            }
           
        }
        
        @Override
        public Object processArrayValue(Object date, JsonConfig arg1) {
             return fm.format((Date)date);  
        }
    });
    
    return JSONSerializer.toJSON(javaObj ,jsonCfg);
}

パラメータjavaObjは、Dateクラス インスタンスを持つ Java オブジェクトです。

参考になりますように。

于 2013-10-09T08:25:16.660 に答える