在日常開發中,對於jsonstring或jsonarray的操作是非常常見的。其中對jsonarray的排序是一項基本操作,而其中的sort方法則是一個非常重要的方法。本文將對sort方法進行詳細闡述,包括jsonarray的遍歷、獲取值、添加數據、轉數組、pythonarray排序、jsonArray和jsonObject的使用等。
一、jsonarray排序
JsonArray提供了sort方法可以幫助我們快速對jsonarray進行排序。sort方法默認按升序操作。
JsonArray jsonArray = new JsonArray(); jsonArray.add(4); jsonArray.add(2); jsonArray.add(1); jsonArray.add(3); jsonArray.sort(); System.out.println(jsonArray.toString());
執行上述代碼,輸出為[1,2,3,4]。可以看出,sort默認按升序排序。
sort還提供了一個參數,可以自定義排序方法。例如,對下面的jsonarray進行降序排序。
JsonArray jsonArray = new JsonArray(); jsonArray.add(4); jsonArray.add(2); jsonArray.add(1); jsonArray.add(3); jsonArray.sort((o1, o2) -> o2.getAsInt() - o1.getAsInt()); System.out.println(jsonArray.toString());
執行上述代碼,輸出為[4,3,2,1]。可以看出,利用Lambda表達式重寫排序方法,實現降序排序。
二、jsonarray如何遍歷
jsonarray提供了多種遍歷的方式,例如for循環:
JsonArray jsonArray = new JsonArray(); jsonArray.add("apple"); jsonArray.add("banana"); jsonArray.add("orange"); for(int i=0;i<jsonArray.size();i++){ System.out.println(jsonArray.get(i).getAsString()); }
執行上述代碼,輸出為apple,banana,orange。可以看出,通過for循環並利用get方法獲取元素值。
另一種遍歷方式為增強for循環:
JsonArray jsonArray = new JsonArray(); jsonArray.add("apple"); jsonArray.add("banana"); jsonArray.add("orange"); for(JsonElement element: jsonArray){ System.out.println(element.getAsString()); }
執行上述代碼,輸出為apple,banana,orange。可以看出,利用增強for循環遍歷jsonarray更加方便簡潔。
三、jsonarray獲取值
JsonArray提供了getAsXXX方法直接獲取元素值。
JsonArray jsonArray = new JsonArray(); jsonArray.add(4); jsonArray.add("banana"); jsonArray.add(true); System.out.println(jsonArray.get(0).getAsInt()); System.out.println(jsonArray.get(1).getAsString()); System.out.println(jsonArray.get(2).getAsBoolean());
執行上述代碼,輸出為4, banana, true。可以看出,通過getAsXXX方法獲取元素值非常方便。
四、jsonarray添加數據
JsonArray提供了多個add方法,可以很方便的添加新元素。
JsonArray jsonArray = new JsonArray(); jsonArray.add(1); jsonArray.add("banana"); jsonArray.add(false); JsonArray newArray = new JsonArray(); newArray.add("orange"); newArray.add(2); jsonArray.add(newArray); System.out.println(jsonArray.toString());
執行上述代碼,輸出為[1,”banana”,false,[“orange”,2]]。可以看出,通過add方法新增元素非常方便。
五、jsonArray轉數組
JsonArray提供了一種方便的方法將jsonarray轉為數組。
JsonArray jsonArray = new JsonArray(); jsonArray.add(1); jsonArray.add("banana"); jsonArray.add(false); Object[] arr = new Gson().fromJson(jsonArray, Object[].class); System.out.println(Arrays.toString(arr));
執行上述代碼,輸出為[1, banana, false]。可以看出,通過fromJson方法將jsonarray轉為普通數組非常方便。
六、遍歷jsonArray
JsonArray提供了forEach方法可以遍歷jsonarray。
JsonArray jsonArray = new JsonArray(); jsonArray.add(4); jsonArray.add(2); jsonArray.add(1); jsonArray.add(3); jsonArray.forEach(element -> { System.out.println(element.getAsInt()); });
執行上述代碼,輸出為4, 2, 1, 3。可以看出,通過forEach方法遍歷jsonarray非常方便。
七、list轉jsonArray
JsonArray提供了一種方便的方法將list轉為jsonarray。
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); JsonArray jsonArray = new Gson().toJsonTree(list, new TypeToken<List<Integer>>() {}.getType()).getAsJsonArray(); System.out.println(jsonArray.toString());
執行上述代碼,輸出為[1,2,3]。可以看出,通過toJsonTree方法將List<Integer>轉為jsonarray非常方便。
八、pythonarray排序
對於python,jsonarray對應的是一個列表,列表提供了sort方法可以實現排序。
import json a = json.loads('[4,2,1,3]') a.sort(reverse=True) print(a)
執行上述代碼,輸出為[4, 3, 2, 1]。可以看出,通過sort方法按照降序排序非常方便。
九、jsonArray和jsonObject的使用
JsonArray和JsonObject的使用基本相同,只是操作對象不同。
例如,jsonobject可以通過get和getAsXXX方法獲取元素值,jsonobject也可以通過add方法添加新元素。沒有遍歷方法,但可以通過迭代器實現遍歷。
JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", "Jhon"); jsonObject.addProperty("age", 20); System.out.println(jsonObject.get("name").getAsString());
執行上述代碼,輸出為Jhon。可以看出,使用jsonobject操作相對簡單。
總結
本文對jsonarray的sort方法做了詳細講解,並從多個方面對jsonarray進行了闡述。希望讀者通過本文,能夠更好地掌握jsonarray的操作方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297268.html