比较Map <string,object>并打印diff属性值

时间:2017-11-23 10:12:13

标签: java

我想在泽西PUT / PATCH请求中比较Request对象和DB对象,以便我已经在 Map {String,Object} reqObject中转换了请求对象,并且我在转换为< em> Map {String,Object} db对象。 现在我想比较两个map并在log中打印diff值。 请帮助我以通用的方式做。

if(!properties1.equals(properties2)){ 
    for(Map.Entry<String, Object> empNew:properties1.entrySet()){ 
        for(Map.Entry<String, Object> empOld:properties2.entrySet()){ 
            if((empNew.getKey().equals(empOld.getKey())&& !(empNew.getValue().equals(empOld.getValue())))){
                System.out.println("Update "+" "+empNew.getKey()+" "+"value"+" "+"from"+" "+empOld.getValue()+" "+"to"+" "+empNew.getValue());
            }
        }
    }
} 

我的对象结构是这样的:

{"id" : "5349b4ddd2781d08c09890f3", 
 "name" : "Abed", 
 "address" : [{ "number" : "xyz", 
                "street" : "asdfgh", 
                "town" : "AMB6 Ind2", 
                "postcode" : "600039" } 
             ] 
}

0 个答案:

没有答案