У меня следующий JSONArray, который пытается его отсортировать.Итак, для этого я конвертирую мой JSONArray в ArrayList, затем сортирую их и преобразую обратно в JSONArray.
Пожалуйста, найдите исходный JSONArray (который не в порядке сортировки).
[
{
"code":"TE-7000-8003-W",
"id":"13342",
},
{
"code":"TE-7000-8003",
"id":"13163",
},
{
"code":"TE-7000-8003-WK",
"id":"11573",
},
{
"code":"TE-7000-8003S",
"id":"11565",
},
{
"code":"TE-7000-8003-K",
"id":"11557",
}
]
Пожалуйстанайдите мой приведенный ниже код, который преобразует мой JSONArray в ArrayList и сортирует их.
Item item=null;
List<Item> newItemList = new ArrayList<Item>();
for (int i=0;i<resultJSONArray.length();i++) {
JSONObject jobj = resultJSONArray.getJSONObject(i);
item = new Item();
item.setId(jobj.optString("id"));
item.setCode(jobj.optString("code"));
newItemList.add(item);
}
newItemList
.stream()
.sorted((object1, object2) -> object1.getCode().compareTo(object2.getCode()));
Iterator<Item> itr = newItemList.iterator();
while(itr.hasNext()) {
Item item1=itr.next();
System.out.println("Item----->"+item1.getCode());
}
Ниже приведен вывод, который не отсортирован в порядке
Item----->TE-7000-8003-W
Item----->TE-7000-8003
Item----->TE-7000-8003-WK
Item----->TE-7000-8003S
Item----->TE-7000-8003-K
Ожидаю результат, как показано ниже:
Item----->TE-7000-8003
Item----->TE-7000-8003S
Item----->TE-7000-8003-K
Item----->TE-7000-8003-W
Item----->TE-7000-8003-WK