【发布时间】:2018-04-06 23:23:46
【问题描述】:
我有这个代码Json格式:
{
"weather": [{
"description": "clear sky",
"icon": "01n"
}],
"base": "stations",
"main": {
"temp": 285.514
},
"clouds": {
"all": 0
},
"dt": 1485792967,
"id": 1907296
}
我想检索图标字符串 (01n)
并使用此代码:
@property(nonatomic,strong) NSString *cityImageName;
self.cityImageName = [[dataJson valueForKey:@"weather"] valueForKey:@"icon"];
稍后当我检查变量打印时:
<__NSSingleObjectArrayI 0x604000009890>(
01n
)
最后怎么才能直接得到字符串?不像__NSSingleObjectArrayI
【问题讨论】:
-
你为什么用
valueForKey:而不是objectForKey:? -
虽然两个答案都是正确的并解释出了什么问题 (
valueForKey:),但要回答您的问题,这是一个内部类:“NSArray”“不可变”(对于“我”在最后,反对可变版本,但这对于“NSArray”与“NSMutableArray”是隐含的)并且针对只有一个对象(“SingleObject”部分)进行了优化。
标签: objective-c json nsstring nsarray