fastjson是阿里巴巴的一個(gè)高性能JSON庫(kù),它提供了很多方便的方法來(lái)操作和處理JSON數(shù)據(jù),比如判斷兩個(gè)JSON是否相同。為了判斷JSON相同,需要將JSON字符串轉(zhuǎn)換為fastjson的JSONObject對(duì)象。
String json1 = "{\"name\":\"Alice\",\"age\":20}"; String json2 = "{\"age\":20,\"name\":\"Alice\"}"; JSONObject obj1 = JSON.parseObject(json1); JSONObject obj2 = JSON.parseObject(json2); System.out.println(obj1.equals(obj2)); //輸出true
在上面的代碼中,我們先定義了兩個(gè)JSON字符串,然后分別將它們轉(zhuǎn)換為JSONObject對(duì)象。最后,使用equals方法比較兩個(gè)JSONObject是否相同,注意,這里equals方法只能用于比較JSONObject對(duì)象,不能用于比較JSONArray對(duì)象。
如果要比較兩個(gè)JSONArray對(duì)象是否相同,則可以使用JSONArray的toJSONString方法將其轉(zhuǎn)換為字符串,然后再比較字符串是否相同,代碼如下:
String arr1 = "[\"Alice\",20]"; String arr2 = "[20,\"Alice\"]"; JSONArray j1 = JSON.parseArray(arr1); JSONArray j2 = JSON.parseArray(arr2); System.out.println(j1.toJSONString().equals(j2.toJSONString())); //輸出true
在上面的代碼中,我們先定義了兩個(gè)JSONArray字符串,然后分別將它們轉(zhuǎn)換為JSONArray對(duì)象。最后,分別使用toJSONString方法將其轉(zhuǎn)換為字符串,并比較兩個(gè)字符串是否相同。
總之,使用fastjson判斷JSON是否相同很方便,只需要將JSON字符串轉(zhuǎn)換為JSONObject或JSONArray對(duì)象,然后使用equals方法或toJSONString方法比較即可。