JSON地図とスワップ

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

 

おすすめ

転載: www.cnblogs.com/shoubianxingchen/p/11978036.html