Разрешить дубликаты ключей JSONException
Я использую поисковую систему Google и получаю результаты в формате JSON. Для некоторых запросов результат JSON имеет повторяющиеся ключи, и, следовательно, он генерирует JSONException: дублирующий ключ "ник" и т.д.
Я использую JAVA.
String str=//contains the query result in json format
JSONObject ob=new JSONObject(str) produces the exception
может знать, как разрешить это исключение?
вот ответ JSON:
{
"kind": "customsearch#result",
"title": "The World Factbook: India - CIA - The World Factbook",
"htmlTitle": "The World Factbook: \u003cb\u003eIndia\u003c/b\u003e -",
"link": "https://www.cia.gov/library/publications/the-world-factbook/geos/in.html",
"displayLink": "www.cia.gov",
"snippet": "Jan 20, 2011 ... Features a map and brief descriptions of geography",
"htmlSnippet": "Jan 20, 2011 \u003",
"cacheid": "0n2U45w_dvkJ",
"pagemap": {
"metatags": [
{
"il.secur.classif": "UNCLASSIFIED",
"il.title": "(U) CIA The World Factbook",
"il.summary": "CIA - The World Factbook",
"il.cutdate": "20040101",
"il.secur.classif": "UNCLASSIFIED",
"il.title": "(U) CIA The World Factbook",
"il.cutdate": "20040101",
"il.secur.classif": "UNCLASSIFIED",
"il.pubdate": "20040101",
"il.postdate": "20040501",
"il.cutdate": "20040101"
}
]
}
}
здесь il.secur.classif происходит несколько раз
Ответы
Ответ 1
Объект JSon, как и любой другой объект, не может иметь два атрибута с одинаковым именем. Это незаконно, так же как и тот же ключ дважды на карте.
JSONObject генерирует исключение, если у вас есть два ключа с одинаковым именем в одном объекте. Вы можете изменить свой объект, чтобы ключи не повторялись под одним и тем же объектом. Вероятно, рассмотрим nickname
как массив.
Вам нужно вставить объект JSON в вопрос.
Ответ 2
Если вам действительно нужна эта функциональность, откат назад к gson 1.6. В этой версии допускаются дубликаты ключей.
Ответ 3
Вы можете использовать библиотеку Джексона для разбора JSON. У меня проблемы с той же задачей, что и с пакетом org.json, но я обратился к Джексону, и я решил: http://wiki.fasterxml.com/JacksonHome