Есть следующий JSON:
[
{
"interests":"hobbies.1",
"age":"age.1",
"gender":"gender.1"
}
]
Если я хочу его распарсить с помощью GSON я делаю следующее:
List<Map<String, String>> newList= gson.fromJson(JSON, new TypeToken<List<Map<String, String>>>()
Но что мне делать если имена полей совпадают? Map в таком случае не подходит
[
{
"interests":"hobbies.1",
"interests":"hobbies.2",
"gender":"gender.1"
}
]
Стандарт не считает это ошибкой, но никаких гарантий не дает. Большинство библиотек либо превращают JSON-объект в пары ключ-значение и хранят в структурах, не предусматривающих повтор ключей, либо парсят в POJO-объекты, в которых по определению не может быть полей с одинаковыми именами.
When the names within an object are not unique, the behavior of software that receives such an object is unpredictable. Many implementations report the last name/value pair only. Other implementations report an error or fail to parse the object, and some implementations report all of the name/value pairs, including duplicates.
https://tools.ietf.org/html/rfc7159#page-6
В такой ситуации лучше всего договариваться с авторами этого JSON, чтобы они сделали поля уникальными. Попробуйте убедить их, что это ошибка.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Зачем нужен усовершенствованный и появившийся в JDK 7 оператор try-c-ресурсами?
При выполнении запроса на получение количества записей возникает ошибка
Как добавить свою переменную для просмотра в режиме отладки в IntelliJ IDEA?
Дело в том, что VideoView с помощью MediaPlayer корректно воспроизводит все видео кроме 4k или Full HD разрешенияТо есть звук идет нормально, а вместо изображения...