摘要:比較兩個順序無關的字符串當的數據轉化為,由于是無序的,因此輸出也是無順序的,當我們相比較兩個是否相同,我們需要忽略他們的順序進行比較,比較方法有如下假設我們中有,,轉化為后有如下兩種可能轉化為進行比較運行結果轉化為進行比較運行結果轉化為進
Gson - 比較兩個順序無關的json字符串
當map的數據轉化為json,由于map是無序的,因此json輸出也是無順序的,
當我們相比較兩個json是否相同,我們需要忽略他們的順序進行比較,比較方法有如下:
假設我們map中有id,name,轉化為json后有如下兩種可能:
String json1 = "{"id":1,"name":"eric"}"; String json2 = "{"name":"eric","id":1}";1.轉化為JsonObejct進行比較
JsonParser parser = new JsonParser(); JsonObject obj = (JsonObject) parser.parse(json1); JsonParser parser1 = new JsonParser(); JsonObject obj1 = (JsonObject) parser1.parse(json2); System.out.println(obj.equals(obj1)); 運行結果:true2.轉化為JsonTree進行比較
Gson gson = new GsonBuilder().create(); JsonElement e1 = gson.toJsonTree(json1); JsonElement e2 = gson.toJsonTree(json2); System.out.println(e1.equals(e2)); 運行結果:false3.轉化為JsonPrimitive進行比較
JsonElement e3 = new JsonPrimitive(json1); JsonElement e4 = new JsonPrimitive(json2); System.out.println(e3.equals(e4)); 運行結果:false
因此轉化為jsonObject進行比較可以滿足我們的要求
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67110.html
摘要:驗證參數傳遞函數返回值,是單元測試中十分重要的環節。一般形式單元測試下文稱為例子這個單元測試是通過的。不過,僅僅比較兩個對象,這個單元測試還是有問題的。單元測試的細節,已經講得七七八八了。 showImg(http://i1.piimg.com/577986/c22d72463031233b.jpg); 原文鏈接:http://www.jianshu.com/p/77ee7c0270b...
摘要:時間年月日星期日說明本文部分內容均來自慕課網。慕課網教學示例源碼無個人學習源碼第一章課程概述課程介紹課程須知本課程面向所有使用語言進行開發的小伙伴。 時間:2017年05月21日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:無個人學習源碼:https://github.com/zccodere/s... 第一章:課程概述 1-1 ...
閱讀 2628·2021-11-19 09:56
閱讀 874·2021-09-24 10:25
閱讀 1632·2021-09-09 09:34
閱讀 2195·2021-09-09 09:33
閱讀 1052·2019-08-30 15:54
閱讀 542·2019-08-29 18:33
閱讀 1264·2019-08-29 17:19
閱讀 505·2019-08-29 14:19