【问题标题】:How to get key/value pair from NSDictionary?如何从 NSDictionary 获取键/值对?
【发布时间】:2014-03-16 11:31:41
【问题描述】:

我在 NSDictionary 方面需要一点帮助。我怎样才能得到 1 对,如果我有字典,让我们说“id”的值

NSDictionary *allCourses = [NSJSONSerialization JSONObjectWithData:allCoursesData options:NSJSONReadingMutableContainers error:&error];

它看起来像这样:

感谢您的帮助。

【问题讨论】:

    标签: ios iphone objective-c json nsdictionary


    【解决方案1】:

    最短路径:

    NSNumber *number = allCourses[@"semacko"][@"id"];
    

    【讨论】:

      【解决方案2】:

      试试这个:

      NSDictionary *allCourses = [NSJSONSerialization JSONObjectWithData:allCoursesData options:NSJSONReadingMutableContainers error:&error];
              [allCourses enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) {
          // do something with key and obj
      }];
      

      【讨论】:

        【解决方案3】:
        NSDictionary *semacko = [allCourses objectForKey:@"semacko"];
        NSNumber *number = [semacko objectForKey:@"id"];
        

        【讨论】:

          【解决方案4】:
          NSNumber *number = allCourses[@"semacko"][@"id"];
          

          或者如果你想迭代所有对象:

          for(NSDictionary* course in allCourses) {
              NSNumber *number = course[@"id"];
          }
          

          【讨论】:

            【解决方案5】:
            NSString *name =[[NSString alloc]initWithFormat:@"%@",[Dictionaryname objectForKey:@"key"]];
            

            通过此代码,您可以访问与 objectforkey 关键字中指定的键对应的值

            【讨论】:

            • 您能否添加一些细节以使整个社区更容易理解这个答案?
            【解决方案6】:

            你可以试试:

            NSNumber *courseID = [allCourses valueForKeyPath:@"semacko.id"];
            

            设定值:

            - setValue:forKeyPath:
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-11-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多