-3

JSONからNSDictionaryへの変換に少し問題があります。誰かが私を助けてくれることを願っています:

URL-Request から、次のような JSON オブジェクトを取得します。

{
    page = 1;
    results = (
        {
            adult = 0;
            "vote_average" = 5;
            "vote_count" = 100;
        },
        {
            adult = 0;
            "vote_average" = 3;
            "vote_count" = 10;
        }, 
        {
            adult = 0;
            "vote_average" = 1;
            "vote_count" = 300;
        },
    );
    "total_pages" = 1;
    "total_results" = 3;
}

次に、この JSON オブジェクトを NSDictionary に解析する必要があります。私の問題は、より多くの (今回は 3 つの) JSON オブジェクトがあり、各オブジェクトに同じキーがあることです。JSON オブジェクトごとに NSDictionary を作成する必要があると思いますか? ..これを行う簡単な方法はありますか?または、そのような状況を処理する別の「通常の方法」はありますか?

助けてくれてありがとう!

4

2 に答える 2

0

すべてのオブジェクトを個別に作成する必要はありません.NSJSONSerializationはあなたのために仕事をすることができます.アイテムの変化する数は配列内にあるので、配列内のオブジェクトの数は増加します.それだけです.

使用する

  NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

data は NSData に変換された json 文字列です

編集:辞書と配列へのjsonの構造はかなり簡単です。IDが {辞書であることを示す([、配列であることを示します。ネストされた状態の場合、辞書も同じです

したがって、あなたの場合、配列にデータを入力し、配列インデックスでオブジェクトを取得する必要があります。これには辞書があり、そこで単一の値を実現できます

だからあなたの場合

    NSArray *results=[jsonResultDictionary objectForKey:@"results"];
    NSDictionary *dict=[results objectAtIndex:0];
    NSLog(@"%@",[dict objectForKey:@"vote_average"]);
于 2013-06-16T18:15:53.073 に答える
0

それは辞書であり、辞書の場合、結果のキーには配列である値があります。NSJSONSerialization はそれを処理できます。

于 2013-06-16T18:13:09.463 に答える