1

タイトルがよくわからなかったので、以下に。

私は 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];

これがサーバーの問題なのか、パーサーの問題なのか、コーディングの問題なのか、誰か教えてもらえますか

4

1 に答える 1

2

最初に: SBJsonの非常に古いバージョンを使用しています。より新しいバージョンを使用することをお勧めします。2 番目: サーバーが実際に新しいデータ ファイルを送信していると確信していますか? Safari / Firefox / Chrome で見てみてください。余分なデータがある場合は、NSURLConnection が何らかの形でリクエストをキャッシュしているかどうかを確認してください。(たぶん?r=1234123URIにランダムを追加しますか?)

于 2012-07-26T22:05:22.127 に答える