#ios #objective-c #json
#iOS #objective-c #json
Вопрос:
Я использую NSJSONSerialization
для синтаксического анализа ответа JSON из вызова API. Однако я все время получаю сообщение об ошибке
(Ошибка Cocoa 3840.)» (Текст в формате JSON не начинался с массива или объекта, и опция, позволяющая не устанавливать фрагменты.) userInfo=0xde41760 {NSDebugDescription=Текст в формате JSON не начинался с массива или объекта, и опция, позволяющая не устанавливать фрагменты. }
Это то, что я использую для синтаксического анализа JSON на стороне iOS
NSArray * myArray = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:amp;error2];
Это мой ответ JSON, который я получаю от вызова API
[
{
"23456": {
"status": 0,
"type": "web/http-server",
"link": "https://app.te345.com/web/http-server?testId=23456",
"name": "Server A""
}
}
]
Я проверил JSON, он показывает действительный JSON.
Если я изменил параметры NSJSONSerializer
, я получаю
Invalid value around character 1
Я искал решения в Google, но не очень помог, любые данные по этому вопросу окажут большую помощь, так как я поражен этим уже довольно долго.
Комментарии:
1. В JSON в вашем вопросе отсутствует } перед ] . Это ошибка вставки или это действительно то, что вы получили от сервера?
2. Отсутствует «,» после ` «имя»: «Сервер A «»`, отсутствует «}» и т.д.. Ваш JSON недействителен или, по крайней мере, не тот, который вы вставляете. Проверено на: jsonlint.com
3. @Larme нет необходимости иметь там лишние «,». @Paulw11 верен,
}
отсутствует только.4. Это просто ошибка вставки, извините за то, что я отредактировал вопрос
5. Из вставленного файла видно, что первым символом является новая строка — 0x0a. Вам нужно исправить код вашего сервера, чтобы это не отправлялось