Проблема с pasing json, когда я пытаюсь запустить свое приложение, я получаю сообщение об ошибке: JSONObject jsonObject = new JSONObject (result);

У меня проблема с парсингом json в android. Я получаю json с моего сервера и пытаюсь разобрать его на стороне клиента. пожалуйста, помогите мне! это json, который я получил с моего сервера:

[
{
    "comments": [
        {
            "content": "pretty cool!"
        },
        {
            "content": "good!"
        }
    ],
    "image": [
        {
            "url": "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/due/Arduino_Due_%20_R3_1-500x500.jpg"
        },
        {
            "url": "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/due/Arduino_Due_%20_R3_2-500x500.jpg"
        },
        {
            "url": "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/due/Arduino_Due_%20_R3_3-500x500.jpg"
        }
    ],
    "id": "1",
    "name": "برد آردوینو Due",
    "price": "106400",
    "description": "برد آردوینو Due یک میکروکنترلر بر پایه SAM3X8E ARM Cortex-M3 CPU از شرکت Atmel می باشد. این برد، اولین برد آردوینویی است که بر اساس میکروکنترلر با هسته ARM 32 بیتی پایه ریزی شده است. دارای 54 پین دیجیتال ورودی/خروجی (که 12 تای آن می تواند به عنوان خروجی PWM استفاده شود)، 12 ورودی آنالوگ، 4 پورت UARTs (پورت های سریال سخت افزاری)، و یک ساعت 84 مگاهرتزی، an USB OTG capable connection ، یک DAC (دیجیتال به آنالوگ)، 2 عدد TWI، یک پاور جک، یک SPI header، یک JTACG header، یک دکمه ریست و یک دکمه پاک کردن می باشد.",
    "dicount_percent": "0",
    "like": "2000",
    "available": "1"
},
{
    "comments": [
        {
            "content": "nice!"
        }
    ],
    "image": [
        {
            "url": "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/Arduino-Mega2560-R3/Arduino%20Mega2560%20Rev3_2-500x500.jpg"
        }
]

и это часть моего Main2Activity.java:

try {
                            JSONObject jsonObject = new JSONObject(result); // result is my json.
                            JSONArray jsonArray = jsonObject.getJSONArray("");

                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject object = jsonArray.getJSONObject(i);
                                HashMap<String, Object> hash_add = new HashMap<>();
                                hash_add.put("ID", object.getString("id"));
                                hash_add.put("Name", object.getString("name"));
                                hash_add.put("Price", object.getString("price"));
                                hash_add.put("Description", object.getString("description"));
                                hash_add.put("Available", object.getString("available"));
                                hash_add.put("Like", object.getString("like"));
                                hash_add.put("Discount_percent", object.getString("discount_percent"));
                                JSONObject jb = object.getJSONObject("image");
                                JSONArray ja = jb.getJSONArray("");
                                JSONObject jso = ja.getJSONObject(0);
                                hash_add.put("image", jso.getString("url"));
                                hash_store_list.add(hash_add);
                                items_store_list = new String[hash_store_list.size()];


                            }

                        } catch (Exception e) {
                            e.printStackTrace();
                        }

когда я пытаюсь запустить свое приложение, я получаю сообщение об ошибке из этой строки:

JSONObject jsonObject = new JSONObject(result);

Добавьте найденное вами сообщение об ошибке.

samabcde 16.09.2018 17:04

если эта строка JSON является полным результатом, который вы передаете объекту JSON, начинается с массива JSON

A. Wahab 16.09.2018 17:15
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
39
1

Ответы 1

Ваш JSON недействителен. Добавьте "}]" в конец вашего JSON.

нет json в порядке я просто не правильно написал здесь

alireza 17.09.2018 08:08

Другие вопросы по теме