Вопрос по json, java, android – Исключение JSON: org.json.JSONException: неопределенный массив

3

Я работаю над приложением для Android, которое запрашивает некоторые данные с сервера, а сервер возвращает данные в формате JSON. Все отлично работает, кроме API. После отладки я обнаружил это исключение:

<code>org.json.JSONException: Unterminated array at character 152 of

{
    "total": "2",
    "result": [
        {
            "id": "15",
            "ename": "Horror movies based on true stories",
            "vname": "Những phim kinh dị dựa trên chuyện có thật",
            "movies": "16"
        }{
            "id": "14",
            "ename": "IMDB Top 250",
            "vname": "250 bộ phim hay nhất mọi thời đại",
            "movies": "127"
        }{
            "id": "13",
            "ename": "10 good movies for women",
            "vname": "10 bộ phim hay dành cho phái đẹp",
            "movies": "10"
        }{
            "id": "12",
            "ename": "The 84th Annual Academy Awards",
            "vname": "Giải Oscars lần thứ 84 (2012)",
            "movies": "37"
        }{
            "id": "11",
            "ename": "Charlie Chaplin collection",
            "vname": "Tuyển tập hề Sác lô",
            "movies": "7"
        }{
            "id": "10",
            "ename": "Tuyển tập điệp viên 007",
            "vname": "007 collection",
            "movies": "23"
        }{
            "id": "9",
            "ename": "Donnie Yen movies collection",
            "vname": "Tuyển tập phim Chung Tử Đơn",
            "movies": "24"
        }{
            "id": "8",
            "ename": "Back to the Future trilogy",
            "vname": "Tuyển tập "Trởlạitươnglai"",
            "movies": "3"
        }{
            "id": "7",
            "ename": "Stieg Larssons Millennium trilogy",
            "vname": "Bộ tiểu thuyết Millenium của nhà văn Stieg Larsson",
            "movies": "3"
        }{
            "id": "6",
            "ename": "Chan Wook Parks vengeance trilogy",
            "vname": "Bộ ba phim Báo thù của đạo diễn Park Chan Wook",
            "movies": "3"
        }
    ]
}
</code>

Я искал в интернете, но не повезло. И я тоже считаю до 152 персонажа, но ничего страшного! Пожалуйста, помогите мне !

он скажет вам, ваш JSON действителен или нет MAC
осторожность. для него две символьные точки означают значение ключа JSON. Вы должны найти способ включить все в строку Thorny84
я думаю, что каждый объект должен разделяться запятой правильно? koti
Вы проверили свой JSON вjsonlint.com MAC

Ваш Ответ

5   ответов
6

Элементы в массиве должны быть разделены запятыми:

{
    "total":"2",
    "result":  [
        {
            "id":"15",
            "ename":"Horror movies based on true stories",
            "vname":"Nh?ng phim kinh d? du?a tren chuye?n co? tha?t",
            "movies":"16"
        }**,COMMA**
        {
            "id":"14",
            "ename":"IMDB Top 250","vname":"250 b? phim hay nh?t m?i th?i d?i",
            "movies":"127"
        }
    ]
}

Обратите внимание, что я поместил строкуCOMMA просто чтобы подчеркнуть это место. Вам нужно только добавить, безCOMMA.

хахаха на 1 секунду быстрее меня. Да, запятая отсутствует в массиве json
2

Android: строка Json с пробелами дает «неопределенный объект в» исключение

Похоже, вам нужно посмотреть несколько примеров того, как формируются массивы JSON.

3

{
    "total": "2",
    "result": [
        {
            "id": "15",
            "ename": "Horror movies based on true stories",
            "vname": "Những phim kinh dị dựa trên chuyện có thật",
            "movies": "16"
        },
        {
            "id": "14",
            "ename": "IMDB Top 250",
            "vname": "250 bộ phim hay nhất mọi thời đại",
            "movies": "127"
        },
        {
            "id": "13",
            "ename": "10 good movies for women",
            "vname": "10 bộ phim hay dành cho phái đẹp",
            "movies": "10"
        },
        {
            "id": "12",
            "ename": "The 84th Annual Academy Awards",
            "vname": "Giải Oscars lần thứ 84 (2012)",
            "movies": "37"
        },
        {
            "id": "11",
            "ename": "Charlie Chaplin collection",
            "vname": "Tuyển tập hề Sác lô",
            "movies": "7"
        },
        {
            "id": "10",
            "ename": "Tuyển tập điệp viên 007",
            "vname": "007 collection",
            "movies": "23"
        },
        {
            "id": "9",
            "ename": "Donnie Yen movies collection",
            "vname": "Tuyển tập phim Chung Tử Đơn",
            "movies": "24"
        },
        {
            "id": "8",
            "ename": "Back to the Future trilogy",
            "vname": "Tuyển tập Trởlạitươnglai",
            "movies": "3"
        },
        {
            "id": "7",
            "ename": "StiegLarssonsMillenniumtrilogy",
            "vname": "BộtiểuthuyếtMilleniumcủanhàvănStiegLarsson",
            "movies": "3"
        },
        {
            "id": "6",
            "ename": "ChanWookParksvengeancetrilogy",
            "vname": "BộbaphimBáothùcủađạodiễnParkChanWook",
            "movies": "3"
        }
    ]
}

и к тому же ваше одно значение содержит" дополнительныйTrở lại tương lai так что просто удали это.

and moreover your on value contains " extra Trở lại tương lai so just remove that. вы можете избежать" лайк\"и выше правильно, что вы пропустили запятую между {}
6

вы должны использовать экранированные кавычки. Как это:

[{"vname": "Tuyển tập \"Trởlạitươnglai\""}]
2

шем Jsonarrayresult

Вы можете проверить свой JSON, действителен ли он или нетВот или жеВот

{
  "total": "2",
  "result": [
    {
      "id": "15",
      "ename": "Horror movies based on true stories",
      "vname": "Những phim kinh dị dựa trên chuyện có thật",
      "movies": "16"
    }{
      "id": "14",
      "ename": "IMDB Top 250",
      "vname": "250 bộ phim hay nhất mọi thời đại",
      "movies": "127"
    }{
      "id": "13",
      "ename": "10 good movies for women",
      "vname": "10 bộ phim hay dành cho phái đẹp",
      "movies": "10"
    }{
      "id": "12",
      "ename": "The 84th Annual Academy Awards",
      "vname": "Giải Oscars lần thứ 84 (2012)",
      "movies": "37"
    }{
      "id": "11",
      "ename": "Charlie Chaplin collection",
      "vname": "Tuyển tập hề Sác lô",
      "movies": "7"
    }{
      "id": "10",
      "ename": "Tuyển tập điệp viên 007",
      "vname": "007 collection",
      "movies": "23"
    }{
      "id": "9",
      "ename": "Donnie Yen movies collection",
      "vname": "Tuyển tập phim Chung Tử Đơn",
      "movies": "24"
    }{
      "id": "8",
      "ename": "Back to the Future trilogy",
      "vname": "Tuyển tập "Trởlạitươnglai"",
      "movies": "3"
    }{
      "id": "7",
      "ename": "Stieg Larssons Millennium trilogy",
      "vname": "Bộ tiểu thuyết Millenium của nhà văn Stieg Larsson",
      "movies": "3"
    }{
      "id": "6",
      "ename": "Chan Wook Parks vengeance trilogy",
      "vname": "Bộ ba phim Báo thù của đạo diễn Park Chan Wook",
      "movies": "3"
    }
  ]
}

Похожие вопросы