【问题标题】:How to take a single piece of data from a YQL query result如何从 YQL 查询结果中获取单条数据
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 2018-12-06
    • 2019-01-02
    • 1970-01-01
    相关资源
    最近更新 更多