0

我如何检索 NSDictionary 中键的值是值已经有引号包围它

代码:

for(NSDictionary *dict in jsonData)
{
NSString *firstName = [dict valueForKey:@"name_forenames"];
NSString *lastName = [dict valueForKey:@"name_surnames"];
NSLog (@"%@ %@", firstName, lastName);
}

在我的字典中是:

(
{
"name_forenames" = Jordan;
"name_surnames" = Newton;
}, {
"name_forenames" = Jordan;
"name_surnames" = Newton;
}
)

因为它只是在我的 NSLog 中返回 null

4

2 回答 2

2

字典键实际上并不包含引号,这只是 description字典方法显示包含特殊字符的字符串的方式。

所以

NSString *firstName = [dict objectForKey:@"name_forenames"];

或新语法

NSString *firstName = dict[@"name_forenames"];

应该可以工作。

请注意,这objectForKey:是检索字典值的专用方法。 valueForKey:用于键值编码技巧。

于 2013-10-12T17:27:18.147 回答
0

您在引号前面插入反斜杠\"

NSString *firstName = [dict valueForKey:@"\"name_forenames\""];
于 2013-10-12T17:38:27.063 回答