fastjson是阿里巴巴的一個高性能JSON庫,它提供了很多方便的方法來操作和處理JSON數據,比如判斷兩個JSON是否相同。為了判斷JSON相同,需要將JSON字符串轉換為fastjson的JSONObject對象。
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
在上面的代碼中,我們先定義了兩個JSON字符串,然后分別將它們轉換為JSONObject對象。最后,使用equals方法比較兩個JSONObject是否相同,注意,這里equals方法只能用于比較JSONObject對象,不能用于比較JSONArray對象。
如果要比較兩個JSONArray對象是否相同,則可以使用JSONArray的toJSONString方法將其轉換為字符串,然后再比較字符串是否相同,代碼如下:
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
在上面的代碼中,我們先定義了兩個JSONArray字符串,然后分別將它們轉換為JSONArray對象。最后,分別使用toJSONString方法將其轉換為字符串,并比較兩個字符串是否相同。
總之,使用fastjson判斷JSON是否相同很方便,只需要將JSON字符串轉換為JSONObject或JSONArray對象,然后使用equals方法或toJSONString方法比較即可。