SBJSON解析器不会更新它的内容

时间:2012-07-19 08:55:27

标签: iphone sbjson

我想我对标题不够清楚,所以在这里:

我正在构建一个具有facebook登录的应用程序,但我使用Facebook API中的SBJSON解析器来解析其他文档。现在我遇到的问题对我来说很奇怪。解析器没有获取我在其读取的JSON中所做的更新。

我使用这个内容:

{
    "categories": [
        {
            "id": 5,
            "catunique": "f874f7d2b48b099400e9f22ea512c234c4f89d81",
            "cattitle": "Nature",
            "catfold": "nature"
        },
        {
            "id": 3,
            "catunique": "edfbb81a83e37b045bfddec1c4fbbbef52b408e7",
            "cattitle": "Bikes",
            "catfold": "bikes"
        }
    ],
    "images": [
        {
            "id": 31,
            "catunique": 5,
            "imgtag": "Pig",
            "imgname": "pig759.png",
            "imgbname": "pig759@2x.png"
        },
        {
            "id": 32,
            "catunique": 5,
            "imgtag": "Frog Shadow",
            "imgname": "frogshadow503.jpg",
            "imgbname": "frogshadow503@2x.jpg"
        },
        {
            "id": 33,
            "catunique": 3,
            "imgtag": "Cat",
            "imgname": "cat518.jpg",
            "imgbname": "cat518@2x.jpg"
        }
    ]
}

这是解析好的,但是如果我在“images”对象中添加另一个项目,我会重新运行该应用程序并且响应没有得到它。

在我的App Delegate中我有使用解析器的代码

SBJSON *json = [[SBJSON alloc] init];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://somedomain.com/images.json"]];
//[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
//[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//set data to string with encoding
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
imagesJsonData = [json objectWithString:json_string error:nil];

有人可以告诉我这是服务器问题,解析器问题还是我的编码问题

1 个答案:

答案 0 :(得分:2)

首先:您使用的是非常古老的版本的SBJson。我建议你使用更新版本。第二:你确定你的服务器实际上是在发送新的数据文件吗?尝试在Safari / Firefox / Chrome中查看它。如果有额外数据,请检查NSURLConnection是否以某种方式缓存您的请求。 (也许随机?r=1234123附加到URI?)