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