我正在使用 Web 服务的 API 服务,在他们的描述中写道,他们发送 JSON 数据,在我看来,这些数据也与我从中得到的响应相匹配。
这是我从 NSURLConnection-Delegate (connection didReceiveData: (NSData *) data) 获得的一部分,并使用以下方法转换为 NSString:
NSLog(@"response: %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
这里是片段:
{"scans":
{
"Engine1“:
{
"detected": false,
"version": "1.3.0.4959",
"result": null,
"update": "20140521"
},
"Engine2“:
{
"detected": false,
"version": "12.0.250.0",
"result": null,
"update": "20140521"
},
...
},
"Engine13":
{
"detected": false,
"version": "9.178.12155",
"result":
在 NSLog-String 中,它停在那里。现在我想知道你出了什么问题,我无法使用以下代码行将此数据转换为 JSON 字典:
NSError* error;
NSMutableDictionary *dJSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
我尝试了一些选项,但总是出现相同的错误:
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
(Unexpected end of file while parsing object.) UserInfo=0x109260850 {NSDebugDescription=Unexpected end of file while parsing object.}
一切都表明 JSON 数据包不完整,但我不知道如何检查它或如何查找应该位于我的代码中的问题。