ios - 获取使用 JSON 的 iOS 应用程序的 key 值

标签 ios

我有一个返回 JSON 结果的网络服务 (.NET)。 iOS 应用程序使用该 Web 服务并获得响应。一切正常,但是当我得到响应时,它在对象 d 中。这是响应:

{"d":"{\"Name\":\"azamsharp\"}"}

现在,正如您想象的那样,我需要访问属性“Name”的值,即“azamsharp”。我关注了另一篇建议采用以下方法的帖子:

 NSLog(@"%@",[responseDict valueForKeyPath:@"d.Name"]);

但这给了我以下错误:

reason: '[<NSCFString 0x4cd6270> valueForUndefinedKey:]: this class is not key value coding-compliant for the key Name.'

非常感谢有关此问题的任何帮助!

最佳答案

该 JSON 对象中没有属性“名称”。您的 JSON 对象有一个键“d”,其值是一个字符串,它恰好是另一个 JSON 对象的字符串表示形式。

你必须做这样的事情:

NSString *innerString = [responseDict valueForKey:@"d"];
NSDictionary *innerObject = [innerString parseJSON]; // Or however you parse a JSON string
NSString *name = [innerObject valueForKey:@"Name"];

关于ios - 获取使用 JSON 的 iOS 应用程序的 key 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7017283/

相关文章:

ios - ARKit - 最初将对象以相机的特定航向/角度放置在 ARSKView 中

ios - 尼尔· swift 词典

ios - 如何在 Swift 中从文件扩展名中拆分文件名?

ios - "Realm was compiled with optimisation"在 Xcode 7.1.1 下使用 Swift

iOS 10 错误? NSDate 小时描述与日本地区和 24 小时休假

objective-c - iOS是否会更改对象的引用?

objective-c - 如何在两个 View Controller 之间传递整数?

ios - 在 Swift 中过滤类数组

ios - 暂停 SKSpriteNode (Swift, SpriteKite)

ios - Swift XCode 使用任务从网站提取数据,但我无法将数据获取到其他函数中以使用 TableView 显示它