我有一个返回 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/