【问题标题】:Need some help accessing JSON Data iPhone需要帮助访问 JSON 数据 iPhone
【发布时间】:2011-12-27 16:28:58
【问题描述】:

免责声明:我是 JSON 新手。

我有一个网站以 JSON 格式提供它的数据,我正在构建一个 iPhone 应用程序来访问该数据。我遇到的问题实际上不在于应用程序本身,而在于访问某些 JSON 数据的语法。

我在访问 Post [ ] 部分中的数据时没有任何问题,但是我想访问 Attachments > Images > wptouch-new-thumbnail > url

我知道您通常会使用点语法访问数据,但是我尝试过的所有操作都无法选择 Post[] 部分之外的任何内容。

这很简单,我将通过帖子从服务器获取的内容添加到 NSStrings 或 UIImage 中,以用于 UITableView 中的图像。

我已经完成了所有这些工作,但是我似乎无法访问附件下的任何内容。我试图为附件制作一个不同的 NSDictionary,但这没有用。

再次记住,我对 JSON / 访问其中的数据非常陌生。

任何帮助将不胜感激!

【问题讨论】:

    标签: iphone json syntax


    【解决方案1】:

    NSMutableData 设为jsonMutableData 而不是 NSMutableString。 在连接dedreceiveresponse,然后初始化jsonMutableData

     //Json Connection
    
    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
    {
        [jsonMutableData appendData:partialData];   
    }
    
    - (void)connectionDidFinishLoading:(NSURLConnection *)connection 
    {
    
        NSString *jsonData = [[NSString alloc] initWithData:jsonMutableData encoding:NSUTF8StringEncoding];   
    
        NSDictionary *filesJSON = [jsonData JSONValue];
    
    
        NSArray *files = [filesJSON objectForKey:@"posts"];
    //further code
    

    【讨论】:

    • 对不起,如果这是一个愚蠢的问题,但是如何将其更改为 NSMutableData 而不是 NSMutableString 帮助我获取“附件”中的信息?如果我改变它,我只是 ** NSString *wpimage = [file objectForKey:@"wptouch-new-thumbnail"]; [wptouch addObject: wpimage]; ** 它会起作用吗?
    • 这不是关于将 NSMutableString 更改为 NSMutableData。看到“关键”的事情是你必须等到所有数据都被完全接收后再尝试将其转换为 NSString ,因为可能存在你的数据在第一个块中没有完全接收到的情况。这就是我发布的代码中显示的内容。
    猜你喜欢
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 2011-03-17
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    相关资源
    最近更新 更多