JSON.parse: неожиданный непробельный символ после данных JSON в строке 1 столбца 50 данных JSON - PullRequest
0 голосов
/ 04 июля 2018

когда я использую ....

 var jsonData = JSON.parse(xhttp.responseText);

я получаю сообщение об ошибке => "JSON.parse: неожиданный непробельный символ после данных JSON в строке 1 столбца 50 данных JSON"

это мои данные JSON из php-скрипта

{"results":[{"oldID":5,"oldMain":"News papers"}]}{"results":[{"oldID":3,"oldMain":"Construction"}]}{"results":[{"oldID":2,"oldMain":"Banking Files"}]}{"results":[{"oldID":1,"oldMain":"Technologies"}]}

Может кто-нибудь, пожалуйста, помогите? .... Спасибо

Ответы [ 3 ]

0 голосов
/ 04 июля 2018

Ваш код неверен.

Ваш код;

{"results":[{"oldID":5,"oldMain":"News papers"}]}{"results":[{"oldID":3,"oldMain":"Construction"}]}{"results":[{"oldID":2,"oldMain":"Banking Files"}]}{"results":[{"oldID":1,"oldMain":"Technologies"}]}

Ваш код подтвержден;

[{"results":[{"oldID":5,"oldMain":"News papers"}]},
{"results":[{"oldID":3,"oldMain":"Construction"}]},
{"results":[{"oldID":2,"oldMain":"Banking Files"}]},
{"results":[{"oldID":1,"oldMain":"Technologies"}]}]

Проблема в том, что у вас было несколько корневых элементов JSON. Они также не были разделены запятыми. Они также нуждаются в переносе в [], который превратит его в объект. Если вы не хотите заключать свой ответ в [], вы можете вернуть строку без [] и вместо этого сделать это;

JSON.parse('['+yourreponse+']') which will parse the JSON correctly.
0 голосов
/ 04 июля 2018

JSON недействителен. Если это возможно, вы можете обновить JSON следующим образом

{
"results": [{
    "oldID": 5,
    "oldMain": "News papers"
}],
"resultss": [{
    "oldID": 3,
    "oldMain": "Construction"
}]}

А также JSON не должен содержать дубликаты ключевых элементов. Также вы можете записать JSON в JSONArray следующим образом

[{
    "results": [{
        "oldID": 5,
        "oldMain": "News papers"
    }]
},
{
    "results": [{
        "oldID": 3,
        "oldMain": "Construction"
    }]
}]
0 голосов
/ 04 июля 2018

это не правильный JSON, вы должны заключить его в массив. действительный JSON, как это

[{
    "results": [{
        "oldID": 5,
        "oldMain": "News papers"
    }]
}, {
    "results": [{
        "oldID": 3,
        "oldMain": "Construction"
    }]
}, {
    "results": [{
        "oldID": 2,
        "oldMain": "Banking Files"
    }]
}, {
    "results": [{
        "oldID": 1,
        "oldMain": "Technologies"
    }]
}]  

взгляните на скобку [] в начале и конце строки и , для разделения объекта.

это какой-то онлайн json linter здесь , чтобы проверить, действительно ли ваш json действителен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...