demo类
@data @Builder @NoArgsConstructor @AllArgsConstructor パブリック クラスDateInfo { プライベート文字列mockDateTime。 プライベート文字列serverDateTime。 プライベート文字列CURRENTDATE。 }
テストカテゴリ
輸入com.google.gson.Gson;
輸入com.google.gson.reflect.TypeToken;
輸入java.lang.reflect.Type;
輸入java.util.HashMapを;
輸入java.util.Map;
パブリッククラスのテスト{
公共の静的な無効メイン(文字列[] args){
地図<文字列、DateInfo>マップ=新しいHashMapの<>();
map.put( "キー1"、DateInfo.builder()CURRENTDATE(のSystem.currentTimeMillis()+ "_1")ビルド()。。);
map.put( "キー2"、DateInfo.builder()CURRENTDATE(のSystem.currentTimeMillis()+ "_2")ビルド()。。);
map.put( "キー3"、DateInfo.builder()CURRENTDATE(のSystem.currentTimeMillis()+ "_3")ビルド()。。);
タイプtype =新しいTypeToken <HashMapの<文字列、DateInfo >>(){
}。getType();
Gson gson Gson =新しいです();
文字列JSON = gson.toJson(マップ、タイプ)。
System.out.println( "gson.toJson(マップ)=" + JSON)。
マップの<string、DateInfo> fromJson = gson.fromJson(JSON、タイプ)。
System.out.println( "fromJson =" + fromJson)。
System.out.println( "fromJson.equals(マップ)=" + fromJson.equals(MAP))。
System.out.println( "fromJson.get(\"キー1 \はキー1 \ "))=" + fromJson.get( "キー1") ")。(map.getを(\等しい"。「(map.get(等しいですキー1" )));
}
}
出力
gson.toJson(マップ)= { "キー2":{ "CURRENTDATE": "1575363764140_2"} "キー1":{ "CURRENTDATE": "1575363764140_1"} "キー3":{ "CURRENTDATE": "1575363764140_3"}}
fromJson = {キー2 = DateInfo(mockDateTime =ヌル、serverDateTime =ヌル、CURRENTDATE = 1575363764140_2)、キー1 = DateInfo(mockDateTime =ヌル、serverDateTime =ヌル、CURRENTDATE = 1575363764140_1)、キー3 = DateInfo(mockDateTime =ヌル、serverDateTime =ヌル、CURRENTDATE = 1575363764140_3)}
fromJson.equals(マップ)=真
fromJson.get( "キー1")。等号(map.get( "キー1"))= TRUE