从 NSDictionary 中检索数据,并在值周围加上引号?
Posted
技术标签:
【中文标题】从 NSDictionary 中检索数据,并在值周围加上引号?【英文标题】:retrieving data from NSDictionary with quotes already around the value? 【发布时间】:2013-10-12 17:19:39 【问题描述】:我如何检索 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
【问题讨论】:
数据来自服务器或者你的项目中定义了json? 【参考方案1】:字典键实际上并不包含引号,这只是
字典的description
方法显示包含特殊字符的字符串。
所以
NSString *firstName = [dict objectForKey:@"name_forenames"];
或新语法
NSString *firstName = dict[@"name_forenames"];
应该可以工作。
请注意,objectForKey:
是检索字典值的专用方法。
valueForKey:
用于键值编码技巧。
【讨论】:
成功了,谢谢!由于某种原因,第一种方法不起作用。新语法有效!【参考方案2】:你在引号\"
前面插入反斜杠。
NSString *firstName = [dict valueForKey:@"\"name_forenames\""];
【讨论】:
以上是关于从 NSDictionary 中检索数据,并在值周围加上引号?的主要内容,如果未能解决你的问题,请参考以下文章
JSON 解析:从 NSDictionary 检索数据并将其存储在数组中
从 NSDictionary 检索键/值对会导致数据不正确并崩溃
如何从目标 C 中的 NSDictionary 中检索字符串?