这是一个例子
{
"updated":1350213484,
"id":"http://www.google.com/reader/api/0/feed-finder?q\u003dProva\u0026output\u003djson",
"title":"Risultati di feed per \"Prova\"",
"self":[
{
"href":"http://www.google.com/reader/api/0/feed-finder?q\u003dProva\u0026output\u003djson"
}
],
"items":[
{
"title":"Home Page - La prova del cuoco",
"id":"http://www.laprovadelcuoco.rai.it/",
"updated":1350213485,
"feed":[
{
"href":"http://www.laprovadelcuoco.rai.it/dl/portali/site/page/Page-ffb545b4-9e72-41e5-866f-a465588c43fa-rss.html"
}
],
"alternate":[
{
"href":"http://www.laprovadelcuoco.rai.it/",
"type":"text/html"
}
],
"content":{
"direction":"ltr",
"content":"Diventa un cuoco provetto con “La Prova del Cuoco”: le videoricette in un' applicazione di facile e veloce consultazione per il tuo Iphone. Scopri come acquistare ..."
}
},
{
"title":"Le prove Invalsi di matematica e italiano",
"id":"http://online.scuola.zanichelli.it/quartaprova/",
"updated":1350213486,
"feed":[
{
"href":"http://online.scuola.zanichelli.it/quartaprova/feed/"
}
],
"alternate":[
{
"href":"http://online.scuola.zanichelli.it/quartaprova/",
"type":"text/html"
}
],
"content":{
"direction":"ltr",
"content":"Un sito Zanichelli dedicato alle prove Invalsi di italiano e matematica: esercitazioni, consigli, informazioni utili, novità, aggiornamenti e blog d'autore sulle prove ..."
}
},
如何获取Feed网址?
这就是我的工作
NSString *daParsare=[reader searchFeed:searchText];
NSArray *items = [[daParsare JSONValue] objectForKey:@"items"];
for (NSDictionary *item in items) {
NSString *title = [item objectForKey:@"title"];
NSString *feed = [item valueForKeyPath:@"feed.href"];
}
[tab reloadData];
标题一切正常,但当我尝试访问Feed参数时,我收到错误...
答案 0 :(得分:1)
假设您的JSON对象名为jsonObject
,您只需访问href
元素即可。因此,在当前对象中,URL位于名为href
的对象中,该对象是顶级名为feed
的数组中的第一个(在本例中为唯一)元素:
NSString* urlString = jsonObject[@"feed"][0][@"href"];
您应该检查以确保如果feed
存在,则在访问其中一个元素之前,它不是空数组。
答案 1 :(得分:0)
NSString *feed = [item valueForKeyPath:@"feed.href"];
是错误的,因为feed
指的是一个数组,它再次包含一个字典。
NSString *feed = [[[item objectForKey:@"feed"] objectAtIndex:0] objectForKey:@"href"];
如果您使用的是现代Xcode,最后一行与Jason Cocos答案相同。
NSString* feed = item[@"feed"][0][@"href"];
此语法称为Object Subscription。