iphone - 获取 nsdictionary 中特定键的值

标签 iphone ios objective-c 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"
        }

     ]
  }
 ]
}

key @"data"的数据可以使用

保存到数组中
NSMutableArray *getdata=[[NSMutableArray alloc]init];
getcat=[results objectForKey:@"data"];

现在我应该如何处理第一个索引中的 values(category, title, id),即 "abcd"

如果有人有任何知识,请查看。

感谢大家。

最佳答案

下面会给你想要的对象

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"];

关于iphone - 获取 nsdictionary 中特定键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16233425/

相关文章:

iOS 谷歌原生广告不可点击

ios - 日期格式化程序不从应用程序中的字符串返回日期,但可以在 Playground 上工作

ios - Apptentive Message 单元格颜色变化

带有图像资源的 iOS 静态库

ios - 从 iOS 日历应用程序的 EKEventStore 中删除 EKEvent

iphone - Ns文件管理器错误

ios - 在谷歌地图上找到标记的坐标

iphone - 如何在单击按钮时更改画笔的颜色?

iphone - 自定义核心数据实体

ios - UIBarButtonItem 在启用后不会更改默认蓝色