【发布时间】:2014-04-19 19:53:19
【问题描述】:
我创建了一个 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"]
但我无法让它工作。
非常感谢您的帮助。
【问题讨论】:
-
显示的日志到底是什么?
respond2?你能显示你记录的行吗? -
@Larme NSLog(@"respond2");记录我在问题开头包含的 JSON。
-
好的,所以您将您的回复 (respond2) 放入
NSString。这很奇怪。尝试用[results2 valueForKeyPath:@"query.results"]替换yourObject(来自我之前给你的代码)。 -
@Larme 我搞定了,非常感谢您的帮助!
标签: ios objective-c json yql