我正在向外部 API 发送请求并使用SBJson parser解析响应。但是,我怀疑响应太长了,以某种方式变得混乱。
在我的 mainviewcontroller.h 文件中,我进行了设置 NSMutableData *receivedData;
,以便可以在 mainviewcontroller.m 文件的连接方法中使用它。
但是,在连接完成加载后,我执行以下操作:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *dataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
NSArray *allData = [dataString JSONValue];
}
但是,我收到一堆错误,说 JSON 格式不正确。所以,当我查看 JSON 时,它很长——但到处都有问题……例如,下面的“updated_at”。
{
"id": 7844333,
"position": 3,
"content": "Cell height is off by 5 pixels",
"created_at": "2012-06-04T20:31:30-05:00",
"updated_at": "2ator": {
"id": 98258,
"name": "Brian"
}
我认为上面发生的事情是 updated at 的值为“2012-06...etc”,下一个键值项将是 creator : { id, name } 但它不知何故被混杂在了 updated at 中。
有人有类似的问题吗?我不认为问题出在 JSONValue 上,因为我在解析 dataString 之前将其注销,这就是我发现 JSON 错误的地方。
我的意思是这NSString *dataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
只是一个长字符串,但其中包含错误的 JSON,因为它是混乱的。