Я разбираю простой объект JSON с Gson. Я хочу, чтобы он выдавал некоторую ошибку, когда имя ключа дублируется. Например.Сделать Gson исключение при разборе JSON с дублированным ключом
{
a: 2,
a: 3
}
В моем случае, Gson анализирует такой JSON и устанавливает значение 3. Я хочу, чтобы он сделал какое-то исключение.
Я знаю, что могу разобрать JSON как карту, а затем Gson выдает исключение в таком случае, но только если дублированный ключ не вложен в карту. Если у меня есть, например, JSON как это:
{
a: 2,
b: {
dup: 1,
dup: 2
}
}
Тем не менее, он обрабатывается без каких-либо исключений и у меня есть только один «DUP» со значением 2.
Могу ли я каким-то образом настроить Gson бросить ошибку в таком случае? Или иметь дублированные записи в JsonObject
инстанции, так что я могу обнаружить это сам (но я сомневаюсь, что, как это было бы недействительным JsonObject
)
Возпроизводимо пример
String json = "{\"a\":2, \"a\":3}";
Gson gson = new Gson();
JsonObject jsonObject = gson.fromJson(json, JsonObject.class);
System.out.println(jsonObject);
печатает
{"a":3}
Можете ли вы добавить [SSCCE] (http://sscce.org/), чтобы мы могли реплицировать то, что вы описываете? – dimo414
@ dimo414 Я сделал это для них в моем понимании. –
Мне кажется, вы должны иметь другой конец, чтобы отправить действительный JSON. –