,你需要設置date format爲GSON對象(您可以通過GsonBuilder建立它),然後聲明TypeToken<Map<Date, Integer>>
之後,只需調用fromJson
例如
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.Map;
public class Test {
public static void main(String[] args) {
String json = "{\"Tue Jan 13 00:00:00 MEZ 2015\":2131165194,\"Mon Jan 12 00:00:00 MEZ 2015\":2131165194,\n" +
"\"Thu Dec 11 00:00:00 MEZ 2014\":2131165194,\"Fri Dec 12 00:00:00 MEZ 2014\":2131165194,\n" +
"\"Mon Jan 19 00:00:00 MEZ 2015\":2131165194,\"Wed Dec 10 00:00:00 MEZ 2014\":2131165194,\n" +
"\"Mon Jan 05 00:00:00 MEZ 2015\":2131165194}";
Type type = new TypeToken<Map<Date, Integer>>() {
}.getType();
Gson gson = new GsonBuilder().setDateFormat("EEE MMM dd HH:mm:ss 'MEZ' yyyy").create();
Map<String, String> myMap = gson.fromJson(json, type);
System.out.println(myMap);
}
}
輸出
{Tue Jan 13 00:00:00 CET 2015=2131165194, Mon Jan 12 00:00:00 CET 2015=2131165194, Thu Dec 11 00:00:00 CET 2014=2131165194, Fri Dec 12 00:00:00 CET 2014=2131165194, Mon Jan 19 00:00:00 CET 2015=2131165194, Wed Dec 10 00:00:00 CET 2014=2131165194, Mon Jan 05 00:00:00 CET 2015=2131165194}
你能解釋一下你的意思我用從來沒有這個bevor?什麼是愛好?你的問題是基於我的猜測? –
我從來沒有寫過一個解析器(對不起,我的英語技能不是最好的^^) –
首先不要抱歉因爲你沒有說任何不好的東西。你在這裏提高你的編程技能。只要相信我,如果你得到了投票,不要把它當作個人。只要看看它如何讓自己變得更好,那麼試着看看如何改進你的答案,因爲你的近距離投票是因爲你的問題似乎對一個人來說太過於國外 –