【Java】+【JSON】+對比兩個json對象是否完全一樣


一、需求

需要對比這2個json字符串是否完全一樣(不用管順序)

1     String dui = "{\"adGroupVO\":{\"campaignId\":\"CAMPAIGN201912101000004559\",\"adGroupChannel\":{\"channelType\":\"SMS\",\"resourceCode\":\"TEMPLATE_CODE\"},\"deliveryScene\":\"default\",\"adGroupTimeConfigVO\":{\"startDate\":\"2020-01-02\",\"endDate\":\"2020-01-04\",\"adGroupTimeConfigDetailVoList\":[{\"endTime\":\"20:11\",\"startTime\":\"09:11\"}]},\"adGroupScheduleConfig\":{\"periodic\":false,\"excludeDate\":[\"\"],\"periodInfo\":\"{}\"},\"eventConfig\":{},\"crowdTargetingList\":[{\"bizDate\":\"20191226\",\"principalType\":\"USER_ID\",\"crowdDesc\":\"\",\"crowdId\":\"191226200530888\",\"crowdName\":\"ZGX_已映射_會員域1W用戶(清洗后)\",\"crowdSource\":\"FILE\",\"crowdStatus\":1,\"crowdTotalCount\":10000,\"crowdType\":\"FILE\",\"dataUpdateDate\":\"20191226\",\"dataUpdateType\":\"ONCE\",\"expireDate\":\"20201220\",\"fileContentList\":[],\"fileName\":\"會員域人群(清洗后)10000個用戶.txt\",\"gmtCreate\":\"2019-12-26 20:05:51\",\"gmtModified\":\"2019-12-26 20:05:51\",\"gmtModifier\":\"zhangguoxiang@sitTest.com\",\"gmtModifierId\":\"zhangguoxiang@sitTest.com\",\"groupConditions\":[],\"operatorId\":\"zhangguoxiang@sitTest.com\",\"operatorName\":\"zhangguoxiang@sitTest.com\",\"ossPath\":\"\",\"parentTaskName\":\"\",\"projectName\":\"\",\"sceneId\":\"DEFAULT\",\"storeType\":\"\",\"tableName\":\"\",\"tenantId\":\"DANAW3ID\",\"userIdColumn\":\"\",\"userIdType\":\"USER_ID\",\"userProperty\":\"\",\"useSceneType\":\"TARGETING\"}],\"fatigueLimitVOList\":[],\"name\":\"任務名稱_20200102194954313\",\"priority\":1,\"ruleTargetingVOList\":[],\"terminalTargetingList\":[],\"contentVOList\":[{\"creativeVOList\":[{\"name\":\"測試\",\"creativeType\":\"TEXT\",\"creativeDetailVoList\":[{\"language\":\"en_US\",\"defaultOrNot\":true,\"variables\":\"{\\\"text\\\":\\\"內容\\\",\\\"title\\\":\\\"標題\\\"}\"}],\"extendInfo\":\"{\\\"isEmpty\\\":false}\",\"shunt\":100}]}],\"bizType\":\"content_task\",\"adgroupAwardInfoVO\":{}}}";




2 String cuo = "{\"adGroupVO\":{\"contentVOList\":[{\"creativeVOList\":[{\"shunt\":100,\"creativeType\":\"TEXT\",\"creativeDetailVoList\":[{\"variables\":\"{\\\"text\\\":\\\"內容\\\",\\\"title\\\":\\\"標題\\\"}\",\"defaultOrNot\":true,\"language\":\"en_US\"}],\"name\":\"測試\",\"extendInfo\":\"{\\\"isEmpty\\\":false}\"}]}],\"bizType\":\"content_task\",\"campaignId\":\"CAMPAIGN201912101000004559\",\"adGroupScheduleConfig\":{\"excludeDate\":[\"\"],\"periodic\":false,\"periodInfo\":\"{}\"},\"priority\":1,\"eventConfig\":{},\"terminalTargetingList\":[],\"adGroupTimeConfigVO\":{\"endDate\":\"2020-01-04\",\"adGroupTimeConfigDetailVoList\":[{\"startTime\":\"09:11\",\"endTime\":\"20:11\"}],\"startDate\":\"2020-01-02\"},\"fatigueLimitVOList\":[],\"name\":\"任務名稱_20200102194954313\",\"deliveryScene\":\"default\",\"adgroupAwardInfoVO\":{},\"adGroupChannel\":{\"resourceCode\":\"TEMPLATE_CODE\",\"channelType\":\"SMS\"},\"ruleTargetingVOList\":[],\"crowdTargetingList\":[{\"fileName\":\"會員域人群(清洗后)10000個用戶.txt\",\"gmtModified\":\"2019-12-26 20:05:51\",\"parentTaskName\":\"\",\"bizDate\":\"20191226\",\"userIdType\":\"USER_ID\",\"userProperty\":\"\",\"crowdSource\":\"FILE\",\"crowdId\":\"191226200530888\",\"crowdType\":\"FILE\",\"operatorName\":\"zhangguoxiang@sitTest.com\",\"tableName\":\"\",\"userIdColumn\":\"\",\"sceneId\":\"DEFAULT\",\"expireDate\":\"20201220\",\"crowdDesc\":\"\",\"operatorId\":\"zhangguoxiang@sitTest.com\",\"crowdName\":\"ZGX_已映射_會員域1W用戶(清洗后)\",\"ossPath\":\"\",\"crowdStatus\":1,\"storeType\":\"\",\"groupConditions\":[],\"gmtModifierId\":\"zhangguoxiang@sitTest.com\",\"crowdTotalCount\":10000,\"gmtCreate\":\"2019-12-26 20:05:51\",\"fileContentList\":[],\"dataUpdateType\":\"ONCE\",\"gmtModifier\":\"zhangguoxiang@sitTest.com\",\"useSceneType\":\"TARGETING\",\"dataUpdateDate\":\"20191226\",\"tenantId\":\"DANAW3ID\",\"projectName\":\"\",\"principalType\":\"USER_ID\"}]}}";

 

二、對比

2.1、思路:2個順序不一樣的json字符串 通過 JSONObject.parse(dui)  打印出來后 順序就是一摸一樣的了(前提:key都一樣)  然后再通過一個字符串查詢就行了

2.2、實現:

 

 

 

2.3、打印后

1 {"adGroupVO":{"contentVOList":[{"creativeVOList":[{"shunt":100,"creativeType":"TEXT","creativeDetailVoList":[{"variables":"{\"text\":\"內容\",\"title\":\"標題\"}","defaultOrNot":true,"language":"en_US"}],"name":"測試","extendInfo":"{\"isEmpty\":false}"}]}],"bizType":"content_task","campaignId":"CAMPAIGN201912101000004559","adGroupScheduleConfig":{"excludeDate":[""],"periodic":false,"periodInfo":"{}"},"priority":1,"eventConfig":{},"terminalTargetingList":[],"adGroupTimeConfigVO":{"endDate":"2020-01-04","adGroupTimeConfigDetailVoList":[{"startTime":"09:11","endTime":"20:11"}],"startDate":"2020-01-02"},"fatigueLimitVOList":[],"name":"任務名稱_20200102194954313","deliveryScene":"default","adgroupAwardInfoVO":{},"adGroupChannel":{"resourceCode":"TEMPLATE_CODE","channelType":"SMS"},"ruleTargetingVOList":[],"crowdTargetingList":[{"fileName":"會員域人群(清洗后)10000個用戶.txt","gmtModified":"2019-12-26 20:05:51","parentTaskName":"","bizDate":"20191226","userIdType":"USER_ID","userProperty":"","crowdSource":"FILE","crowdId":"191226200530888","crowdType":"FILE","operatorName":"zhangguoxiang@sitTest.com","tableName":"","userIdColumn":"","sceneId":"DEFAULT","expireDate":"20201220","crowdDesc":"","operatorId":"zhangguoxiang@sitTest.com","crowdName":"ZGX_已映射_會員域1W用戶(清洗后)","ossPath":"","crowdStatus":1,"storeType":"","groupConditions":[],"gmtModifierId":"zhangguoxiang@sitTest.com","crowdTotalCount":10000,"gmtCreate":"2019-12-26 20:05:51","fileContentList":[],"dataUpdateType":"ONCE","gmtModifier":"zhangguoxiang@sitTest.com","useSceneType":"TARGETING","dataUpdateDate":"20191226","tenantId":"DANAW3ID","projectName":"","principalType":"USER_ID"}]}} 



2 {"adGroupVO":{"contentVOList":[{"creativeVOList":[{"shunt":100,"creativeType":"TEXT","creativeDetailVoList":[{"variables":"{\"text\":\"內容\",\"title\":\"標題\"}","defaultOrNot":true,"language":"en_US"}],"name":"測試","extendInfo":"{\"isEmpty\":false}"}]}],"bizType":"content_task","campaignId":"CAMPAIGN201912101000004559","adGroupScheduleConfig":{"excludeDate":[""],"periodic":false,"periodInfo":"{}"},"priority":1,"eventConfig":{},"terminalTargetingList":[],"adGroupTimeConfigVO":{"endDate":"2020-01-04","adGroupTimeConfigDetailVoList":[{"startTime":"09:11","endTime":"20:11"}],"startDate":"2020-01-02"},"fatigueLimitVOList":[],"name":"任務名稱_20200102194954313","deliveryScene":"default","adgroupAwardInfoVO":{},"adGroupChannel":{"resourceCode":"TEMPLATE_CODE","channelType":"SMS"},"ruleTargetingVOList":[],"crowdTargetingList":[{"fileName":"會員域人群(清洗后)10000個用戶.txt","gmtModified":"2019-12-26 20:05:51","parentTaskName":"","bizDate":"20191226","userIdType":"USER_ID","userProperty":"","crowdSource":"FILE","crowdId":"191226200530888","crowdType":"FILE","operatorName":"zhangguoxiang@sitTest.com","tableName":"","userIdColumn":"","sceneId":"DEFAULT","expireDate":"20201220","crowdDesc":"","operatorId":"zhangguoxiang@sitTest.com","crowdName":"ZGX_已映射_會員域1W用戶(清洗后)","ossPath":"","crowdStatus":1,"storeType":"","groupConditions":[],"gmtModifierId":"zhangguoxiang@sitTest.com","crowdTotalCount":10000,"gmtCreate":"2019-12-26 20:05:51","fileContentList":[],"dataUpdateType":"ONCE","gmtModifier":"zhangguoxiang@sitTest.com","useSceneType":"TARGETING","dataUpdateDate":"20191226","tenantId":"DANAW3ID","projectName":"","principalType":"USER_ID"}]}}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM