Текст JSONObject должен начинаться с ошибки ‘{‘

Вопрос:У меня есть этот JSON, который приходит из одной из наших служб REST: [ "{"category_name":["Industry Components"],"categoryId":[1]}", "{"category_name":["Business Components"],"categoryId":[2]}", "{"category_name":["Utilities"],"categoryId":[3]}", "{"category_name":["Tools"],"categoryId":[4]} ] Я использую java-json.jar для синтаксического анализа этого JSON, это простой фрагмент, в котором я пытаюсь пройти над строкой JSON: JSONObject jsonObject = new JSONObject(jsonStr); Но я получаю ниже исключения: org.json.JSONException: A JSONObject text must

Вопрос:

У меня есть этот JSON, который приходит из одной из наших служб REST:

[ «{«category_name»:[«Industry Components»],»categoryId»:[1]}», «{«category_name»:[«Business Components»],»categoryId»:[2]}», «{«category_name»:[«Utilities»],»categoryId»:[3]}», «{«category_name»:[«Tools»],»categoryId»:[4]} ]

Я использую java-json.jar для синтаксического анализа этого JSON, это простой фрагмент, в котором я пытаюсь пройти над строкой JSON:

JSONObject jsonObject = new JSONObject(jsonStr);

Но я получаю ниже исключения:

org.json.JSONException: A JSONObject text must begin with ‘{‘ at 1 [character 2 line 1]

Сначала я предположил это из-за символов [ и ] в JSON, и я попытался заменить их следующим образом:

String replacedStr = jsonStr.replaceAll(«\[«, «»).replaceAll(«\]», «»)

Но даже тогда я получаю такое же исключение. Может ли кто-нибудь помочь мне узнать, что я делаю неправильно?

Лучший ответ:

Я полагаю, что вы должны использовать не JSONObject, а JSONArray

Ответ №1

Объект JSON следует следующей структуре:

{ «array»: [ { color: «red», value: «#f00» }, { color: «green», value: «#0f0» } ] }

JSON Array следует следующей структуре:

[ { «firstName»:»John» , «lastName»:»Doe» }, { «firstName»:»Anna» , «lastName»:»Smith» }, { «firstName»:»Peter» , «lastName»: «Jones» } ] Ответ №2

Если вы получите текст JSONObject, начинайте с исключения ‘{‘.
Затем сначала проверьте, что вы передали в конструктор JSONObject.

Вы должны передать правый файл json.txt. Убедитесь, что вы переходите к jsonobject.

String request = FileUtils.readFileToString(new File(«/home/achaure/Downloads/Amol/KountRestTest/Documents/request.txt»)); JSONObject jsonObject = new JSONObject(request);

Оцените статью
Добавить комментарий