#java #json
#java #json
Вопрос:
Вот моя первая программа, использующая JSON. Он почти завершен, его нужно отсортировать только по значению «updated_at», а затем вернуть отсортированный результат в виде «name» «updated_at». Кто-нибудь может помочь мне с этим / написать код? Как я могу это сделать?
public class Main {
public static void main(String[] args) throws Exception {
ArrayWithAllRepos arrayWithAllRepos = new ArrayWithAllRepos();
String dataFromPage1 = URLReader.readUrl(AllegroURL.URL_1);
String dataFromPage2 = URLReader.readUrl(AllegroURL.URL_2);
String dataFromPage3 = URLReader.readUrl(AllegroURL.URL_3);
JSONArray jsonArrayWithDataFromPage1 = new JSONArray(dataFromPage1);
JSONArray jsonArrayWithDataFromPage2 = new JSONArray(dataFromPage2);
JSONArray jsonArrayWithDataFromPage3 = new JSONArray(dataFromPage3);
arrayWithAllRepos.addToJsonToArray(jsonArrayWithDataFromPage1);
arrayWithAllRepos.addToJsonToArray(jsonArrayWithDataFromPage2);
arrayWithAllRepos.addToJsonToArray(jsonArrayWithDataFromPage3);
arrayWithAllRepos.printArray(arrayWithAllRepos.getJsonArray());
}
}
public class AllegroURL {
public static final String URL_1 = "https://api.github.com/users/allegro/repos?pagelen=1000amp;page=1";
public static final String URL_2 = "https://api.github.com/users/allegro/repos?pagelen=1000amp;page=2";
public static final String URL_3 = "https://api.github.com/users/allegro/repos?pagelen=1000amp;page=3";
}
Комментарии:
1. Пожалуйста, удалите код, не связанный с вашим вопросом.
Ответ №1:
Я не знаю класс ArrayWithAllRepos
, но вы можете создать Comparator
, который получает два объекта json, и сравнить их с этим значением (вы можете увидеть много примеров в Google, вот один https://www.geeksforgeeks.org/comparator-interface-java /)
и используйте .stream().map()
методы в коллекции, чтобы изменить вывод (опять же, вы можете увидеть много примеров в Google, вот один https://javarevisited.blogspot.com/2018/05/java-8-filter-map-collect-stream-example.html )
Если ваша коллекция не поддерживает stream()
, вы можете сделать простой for и создать новый json с вашими значениями.