Iphone AFN网络值ForkeyPath通配符
我试图从下面的JSON文件中获取tvrage_名称Iphone AFN网络值ForkeyPath通配符,iphone,ios,objective-c,xcode,Iphone,Ios,Objective C,Xcode,我试图从下面的JSON文件中获取tvrage_名称 { data: { Band of Brothers: { air_by_date: 0, cache: { banner: 1, poster:
{
data: {
Band of Brothers: {
air_by_date: 0,
cache: {
banner: 1,
poster: 1
},
language: "en",
network: "HBO",
next_ep_airdate: "",
paused: 0,
quality: "Any",
status: "Ended",
tvdbid: 74205,
tvrage_id: 2708,
tvrage_name: "Band of Brothers"
},
Breaking Bad: {
air_by_date: 0,
cache: {
banner: 1,
poster: 1
},
language: "en",
network: "AMC",
next_ep_airdate: "2013-07-14",
paused: 0,
quality: "HD",
status: "Continuing",
tvdbid: 81189,
tvrage_id: 18164,
tvrage_name: "Breaking Bad"
},
},
message: "",
result: "success"
}
有没有办法在valueForKeyPath中使用通配符?
因此,valueForKeyPath应该是:data.*.tvarge_name(该*将是通配符)否。您必须像这样循环键/值*:
...
NSDictionary *data = [JSON valueForKey:@"data"];
for (NSString *movie in data) {
NSLog(@"tvrage_name: %@", [[data valueForKey:movie] valueForKey:@"tvrage_name"]);
}
...
*我喜欢保险,所以我总是有额外的支票。e、 g.[JSON Iskindof类:[NSDictionary类]]
等
希望能有所帮助。如果你得到一份只包含电视节目条目(而不是“message”和“result”)的词典,那么你可以执行
[[shows allValues]valueForKeyPath:@“tvrage_name”]
这应该是可行的,因为allValues为您提供了一个字典数组,因此valueForKeyPath将为您提供给定键下的一个值数组
(但是,在通过网络获取JSON时,如果JSON的结构与您期望的不一样,那么在不进行额外检查或强化的情况下执行此操作可能不是一个好主意)好。记住把问题设为已回答。干杯