如何从 iOS 中的 JSON 响应中获取价值
Posted
技术标签:
【中文标题】如何从 iOS 中的 JSON 响应中获取价值【英文标题】:How can i get value from JSON response in iOS 【发布时间】: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\””
【问题讨论】:
【参考方案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"];
【讨论】:
以上是关于如何从 iOS 中的 JSON 响应中获取价值的主要内容,如果未能解决你的问题,请参考以下文章