Сортировка JSONObject с использованием значения JSONArray в Java
У меня есть следующий JSONObject, я пытаюсь сортировать:
{
"coords": {
"27": {
"x": [70,71,72],
"y": [1945,1946,1947],
"lineNumber": [
19
]
},
"29": {
"x": [70,71,72],
"y": [1945,1946,1947],
"lineNumber": [
91
]
},
"2333": {
"x": [70,71,72],
"y": [1945,1946,1947],
"lineNumber": [
10
]
}
}
}
Я хотел отсортировать JSONObjects внутри coords
по стоимости lineNumber
, lineNumber
массив всегда имеет только один элемент внутри. Я использую простой JSON.
1 ответ
К сожалению, нет чистого способа сделать это, так как вы не можете отсортировать карту по ключам.
Вы можете преобразовать свою карту в список Map.Entry<K,V>
объекты. В вашем случае записи имеют тип Map.Entry<String, JSONObject>
(записи внутри coords
).
Список может быть отсортирован по записи V
или в вашем случае JSONObject
s. Самый простой способ сделать это - написать собственный компаратор и отсортировать список с помощью Collections.sort (...).