objective-c - 无法从 connectionDidFinishLoading 中的数据解析 JSON – 也许是数据太多了?

标签 objective-c ios json nsurlconnection sbjson

我正在向外部 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 被解析之前 nslog 了它,这就是我发现 JSON 错误的地方。

我的意思是 NSString *dataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding]; 只是一个长字符串,但里面有错误的 JSON,因为它是困惑的.

最佳答案

您是否同时通过多个连接使用 receivedData?

:)

关于objective-c - 无法从 connectionDidFinishLoading 中的数据解析 JSON – 也许是数据太多了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10892229/

相关文章:

java - ObjectMapper SetDateFormat() 不起作用

iphone - UITableViewCells 在编辑模式下改变大小

ios - 如何在 Swift 中加载 GIF 图像?

导致 IE 失败的 Javascript 问题

php - 如何使用 PHP 获取正确格式的 JSON 数据

ios - 如何在 SpriteKit 中检测不同类型的碰撞

objective-c - -mountedLocalVolumePaths 和 -mountedRemovableMedia 在 Obj-C 中做了什么

objective-c - UIScrollview 在缩小时更改 UIButton 的图像质量

objective-c - 多行自动调整大小文本UILabel

ios - 如何监控我的 iPhone URL 访问?