web-dev-qa-db-ja.com

nsdictionaryの特定のキーの値を取得します

json解析結果をdictionaryに保存しました。

_{
 "statusCode":"200",
"body":[
  {
     "status":"success",
     "remarks":null
  }
],

"data":[
     "abcd":[
        {
           "category":"a",
           "title":"b",
           "id":"24"
        },
        {
           "category":"c",
           "title":"crd",
           "id":"65"
        },
        {
           "category":"ds",
           "title":"sd",
           "id":"18"
        }

     ]
  },
  {
     "efgh":[
        {
           "category":"ds",
           "title":"sd",
           "id":"18"
        },
        {
           "category":"sd",
           "title":"sd",
           "id":"1"
        }

                             ]
  },
  {
     "ijkl":[
        {
           "category":"ds",
           "title":"sd",
           "id":"18"
        },
        {
           "category":"sd",
           "title":"sd",
           "id":"1"
        }

     ]
  }
 ]
}
_

キー@ "data"のデータは、次を使用して配列に保存できます。

_NSMutableArray *getdata=[[NSMutableArray alloc]init];
getcat=[results objectForKey:@"data"];
_

ここで、最初のインデックス内のvalues(category, title, id)に対して何をすべきか、つまり_"abcd"_です。

誰もが知識を持っている場合はそれを見てください。

ありがとうございます。

20
Minkle Garg

以下は、目的のオブジェクトを提供します

NSDictionary *dict=[results valueForKeyPath:@"data.abcd"][0];

個人の場合:

NSString *categoryString=[[results valueForKeyPath:@"data.abcd"][0] objectForKey:@"Category"];
NSString *idString=[[results valueForKeyPath:@"data.abcd"][0] objectForKey:@"id"];
NSString *titleString=[[results valueForKeyPath:@"data.abcd"][0] objectForKey:@"title"];

また、

NSString *categoryString=dict[@"Category"];
NSString *idString=dict[@"id"];
NSString *titleString=dict[@"title"];
48
Anoop Vaidya

次のように確認してください。

NSString *value=[[[getcate valueForKey:@"abcd"] objectAtIndex:0] valueForKey:@"category"];
3
Balu

それは配列なので、objectAtIndex:(つまり[getcat objectAtIndex:0]またはgetcat[0]

0
borrrden