如何从YQL查询结果中获取单个数据

时间:2014-04-19 19:53:19

标签: ios objective-c json yql

我创建了一个xcode项目,在其中我从YQL查询中记录了JSON。这是我得到的输出:

    quote =     {
AverageDailyVolume = 22235800;
Change = "+0.03";
DaysHigh = "36.60";
DaysLow = "35.55";
DaysRange = "35.55 - 36.60";
LastTradePriceOnly = "36.38";
MarketCapitalization = "37.523B";
Name = "Yahoo! Inc.";
StockExchange = NasdaqNM;
Symbol = YHOO;
Volume = 28937796;
YearHigh = "41.72";
YearLow = "23.47";
symbol = YHOO;

};

}

我想要做的是从这段代码中取一行。例如:“LastTradePriceOnly =”36.38“”。然后我希望能够将LastTradePriceOnly(36.38)的值存储在NSNumber / NSInteger中。

我项目中的代码主要是:

- (IBAction)enterButton2:(id)sender {
NSString *query2 = (self.queryText2.text);
NSDictionary *results2 = [yql query:query2];
NSString *respond2 = [[results2 valueForKeyPath:@"query.results"]description];
self.resultView2.text = respond2;
NSLog(@"%@",respond2);}

我使用的查询放在textView中,查询是:

select * from yahoo.finance.quote where symbol in ("YHOO")

感谢@Larme我尝试使用这种方法:

[[yourObject objectForKey:@"quote"] objectForKey:@"LastTradePriceOnly"]

但我无法让它发挥作用。

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

解决方案:
好的,您将回复(respond2)放入NSString。这很奇怪。让我们从NSArrayNSDictionary[results2 valueForKeyPath:@"query.results"]开始重新启动:

[[[results2 valueForKeyPath:@"query.results"] objectForKey:@"quote"] objectForKey:@"LastTradePriceOnly"];