我正在尝试排序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
]
}
}
}
我想在coords
w.r.t中对值lineNumber
内的JSONObject进行排序。 lineNumber
数组内部始终只有一个元素。我使用的是简单的JSON。
答案 0 :(得分:0)
不幸的是,由于您无法按键对地图进行排序,因此没有一种干净的方法。
您可以将地图转换为Map.Entry<K,V>
个对象的列表。在您的情况下,条目的类型为Map.Entry<String, JSONObject>
(coords
内的条目)。
然后可以按条目V
或者JSONObject
的情况对列表进行排序。最简单的方法是编写自定义Comparator并通过Collections.sort(...)对列表进行排序。