【问题标题】:How can i get value from JSON response in iOS如何从 iOS 中的 JSON 响应中获取价值
【发布时间】:2016-01-29 16:47:15
【问题描述】:

您好,我收到来自 JSON 的响应,其中我得到了包含以下值的数组,现在我的问题是如何从中获取此值并将其存储在单独的 NSString 中。

{"Id”:”10”,”Profile”:”2”,”Name”:”admin”,”LastName”:”admin”,”pic”:”default.png","Email”:”admin@gmail.com","Configuration”:”{\”Id\”:\”1\”,\”Notification\”:\”1\”}”

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    您得到的响应不是数组格式。它是字典格式,因为

    [ ] is array 
    { } is dictionary
    

    根据您发布的问题,您会收到以 { } 开头的字典格式的回复。 所以你必须先在字典中得到响应。然后按照我的下面的答案。

    NSString *stringId = dictJson[@"Id"];
    NSString *stringProfile = dictJson[@"Profile"];
    NSString *stringName = dictJson[@"Name"];
    NSString *stringLastName = dictJson[@"LastName"];
    NSString *stringEmail = dictJson[@"Email"];
    

    【讨论】:

    • 不要使用valueForKey: 从字典中获取数据。除非您对 KVC 有特定用途,否则请使用 objectForKey:。并且不要不必要地使用stringWithFormat
    • 第一个也已经是一个字符串,所以不需要stringWithFormat。比objectForKey: 更容易的是现代语法。 NSString *name = dictJson[@"Name"];。你应该为你的答案添加一个解释。基本上将您的问题评论放入您的答案中。
    【解决方案2】:

    首先将您的 JSON 响应转换为 NSArray 。

       NSArray *arrJsonResponse = i  [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
    

    现在您可以使用

    获取字典
      [array objectAtIndex:myIndex] method of the NSArray 
    

    然后你可以参考第一个答案。

    【讨论】:

      【解决方案3】:
      NSString *stringId = [dictionary valueForKey:@"Id"]
      NSString *stringProfile = [dictionary valueForKey:@"Profile"];
      NSString *stringName = [dictionary valueForKey:@"Name"];
      NSString *stringLastName = [dictionary valueForKey:@"LastName"];
      NSString *stringEmail = [dictionary valueForKey:@"Email"];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-12
        • 1970-01-01
        • 2021-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多