0

我在 developer.yahoo.com/yql/console/ 中插入了以下命令

yql = select * from yahoo.finance.quotes where symbol in ("XAUUSD=X","XAGUSD=X")

但显示所有对我来说不需要的数据。 Yahoo YQL生成的XML代码和Yahoo YQL生成的Json代码

我只想提取 Ask、Bid、AskRealtime、BidRealtime、LastTradeRealtimeWithTime、LastTradeWithTime、LastTradePriceOnly。通过使用 php session,我想将抓取的数据插入同一页面的 html table/div 中。

不知道 XML 会更容易提取数据还是 Json。这对我来说更容易获取字段数据并将其粘贴到 html 表中。

并且还希望在雅虎中刷新数据时将抓取的数据流式传输或自动刷新..
找到此链接
streamerapi.finance.yahoo.com

但不知道如何工作请帮忙

我试过了,但什么也没打印

<script type='text/javascript'>  
  function forex(o){  
    var items = o.query.results.item;  
    var output = '';  
    var no_items=items.length;  
    for(var i=0;i<no_items;i++){  
      var Ask = items[i].Ask;
      var AskRealtime = items[i].AskRealtime;
      var BidRealtime = items[i].BidRealtime;
      var LastTradeDate = items[i].LastTradeDate;
      var LastTradePriceOnly = items[i].LastTradePriceOnly;
      var LastTradeTime = items[i].LastTradeTime;
      output += Ask + AskRealtime + BidRealtime + LastTradeDate + LastTradePriceOnly+ LastTradeTime;  
      +title + desc ; 
    }  
    // Place news stories in div tag  
    document.getElementById('results').innerHTML = output;    
  }  
</head>
4

2 回答 2

1

查看 json_decode(); !完美运行。

$x = json_decode($json_string);         // gives back an array
$x = json_decode($json_string, true);   // gives back an object

这件事帮助了我很多次...

于 2012-05-11T01:45:49.720 回答
0

利用

http://api.jquery.com/jQuery.getJSON/

并将其放在计时器上。如果您记录响应 (console.log),您将看到它是一个对象,您可以遍历该对象以获得所需的内容。

它也需要是一个有效的 json,所以请确保它使用 JSON Lint:

http://jsonlint.com/

如果不是(我认为通常人们用字符串作为有效 json 的前缀),那么您将不得不使用 PHP 来获取 json(file_get_contents 或 CURL)并将响应切碎,直到它是一个有效的 json。

于 2012-05-10T22:01:26.043 回答