如何从 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 响应中获取价值的主要内容,如果未能解决你的问题,请参考以下文章

IOS Swift我如何从异步方法中获得价值[重复]

如何从 appsettings.json 中获取价值

如何从 Sencha extjs 获取存储价值

快速从服务器响应中获取价值

如何在android studio中从这种类型的json数组中获取价值?

我如何从 JSON React Native 中获得价值?