我创建了一个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"]
但我无法让它发挥作用。
非常感谢帮助。
答案 0 :(得分:0)
解决方案:
好的,您将回复(respond2
)放入NSString
。这很奇怪。让我们从NSArray
或NSDictionary
:[results2 valueForKeyPath:@"query.results"]
开始重新启动:
[[[results2 valueForKeyPath:@"query.results"] objectForKey:@"quote"] objectForKey:@"LastTradePriceOnly"];