Дан вот такой Json-файл. Как добавить в коллекцию простой элемент в курсе, а вот как в коллекцию сунуть коллекцию, да ещё и сортировать его по одному из элементов я не в силах.
{
"result": [
{
"hostid": "10106",
"host": "Yandex DNS",
"interfaces": [
{
"interfaceid": "9",
"ip": "77.88.8.8"
},
{
"interfaceid": "13",
"ip": "77.88.8.8"
}
]
},
{
"hostid": "10106",
"host": "Yandex DNS",
"interfaces": [
{
"interfaceid": "6",
"ip": "77.88.8.8"
},
]
}
}
}
Индекс коллекции должен совпадать со значением переменной interfaceid (это значение уникальное).
Тут две задачи.
Для решения первой задачи можно использовать Google GSON. Эта библиотека позволяет конвертировать JSON в Java-объекты и обратно. Кроме Google GSON существуют и другие библиотеки, такие как Jackson итд.
Для решения второй задачи создайте класс, который реализует интерфейс Comparator.
В этом классе реализуйте метод compare(T o1, T o2), который будет сравнивать два объекта из вашего JSON и возвращать 1, если первый объект больше второго, 0 - если объекты равны и -1 если первый объект меньше второго.
После чего отсортируйте массив объектов, который вы получили из JSON с помощью вашего класса-компаратора, вызвав метод Collections.sort(list, comparator), где list - это ваш список объектов из JSON, а comparator - это ваша реализация интерфейса Comparator.
Есть и другой способ вместо создания отдельного компаратора. Это объявление объектов, список которых вы генерируете из JSON как Comparable. В таком случае вам надо будет реализовать в классе метод compareTo(T obj), который будет сравнивать текущий экземпляр класса с переданным в параметре (obj). После чего вызываете метод Collections.sort(list), где list - это список объектов, полученных из JSON, в котором каждый объект реализует интерфейс Comparable.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости