Есть следующий 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, чтобы они сделали поля уникальными. Попробуйте убедить их, что это ошибка.
Продвижение своими сайтами как стратегия роста и независимости