Я пытаюсь отсортировать ответ Json, полученный при вызове REST API. Результат, который я получаю после звонка, неупорядочен.
Это образец JSON:
{
"result": [{
"key1": "value1",
"key2": "value2",
"number": "102",
},
{
"key1": "value3",
"key2": "value4",
"number": "101",
}]
}
Я хочу, чтобы ответ был отсортирован по "числу" следующим образом:
{
"result": [{
"key1": "value3",
"key2": "value4",
"number": "101",
},
{
"key1": "value1",
"key2": "value2",
"number": "102",
}]
}
Вот мой код для разбора JSON:
try {
HttpGet httpget = new HttpGet("Some API URL");
httpget.setHeader("Accept", "application/json");
System.out.println("Executing request " + httpget.getRequestLine());
CloseableHttpResponse response = httpclient.execute(httpget);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println(responseBody);
System.out.println("----------------------------------------");
JSONObject jobj = new JSONObject(responseBody);
JSONArray result = jobj.getJSONArray("result");
int n = result.length();
for (int i = 0; i < n; ++i) {
System.out.println("------");
JSONObject incident = result.getJSONObject(i);
System.out.println(incident.getString("number"));
System.out.println(incident.getString("short_description"));
System.out.println("------");
}
} finally {
response.close();
}
} finally {
httpclient.close();
}
Может ли кто-нибудь помочь ??
Преобразуйте ответ JSON в класс POJO с помощью Gson, чем используйте структуру коллекции java для сортировки объекта. Вы можете использовать сопоставимый интерфейс. Пожалуйста, прочтите о библиотеке Gson, фрагменте коллекции, Comparable




вы можете поместить все свои json-объекты в массив и легко отсортировать его.