jQuery读取和输出JSON数据

时间:2010-12-07 10:40:25

标签: jquery json yql

我有来自Yahoo(YQL)的这个提要,需要输出一些信息到网页。请有人帮忙吗。谢谢!!这让我头疼得厉害。洛尔

cbfunc({
 "query": {
  "count": "1",
  "created": "2010-12-07T10:38:18Z",
  "lang": "en-US",
  "results": {
   "quote": {
    "symbol": "^FTSE",
    "Ask": null,
    "AverageDailyVolume": "0",
    "Bid": null,
    "AskRealtime": null,
    "BidRealtime": null,
    "BookValue": null,
    "Change_PercentChange": "+67.33 - +1.17%",
    "Change": "+67.33",
    "Commission": null,
    "ChangeRealtime": "+67.33",
    "AfterHoursChangeRealtime": "N/A - N/A",
    "DividendShare": null,
    "LastTradeDate": "12/7/2010",
    "TradeDate": null,
    "EarningsShare": null,
    "ErrorIndicationreturnedforsymbolchangedinvalid": "N/A",
    "EPSEstimateCurrentYear": null,
    "EPSEstimateNextYear": null,
    "EPSEstimateNextQuarter": null,
    "DaysLow": "5769.67",
    "DaysHigh": "5838.52",
    "YearLow": "4790.04",
    "YearHigh": "5902.11",
    "HoldingsGainPercent": "- - -",
    "AnnualizedGain": "-",
    "HoldingsGain": null,
    "HoldingsGainPercentRealtime": "- - -",
    "HoldingsGainRealtime": null,
    "MoreInfo": "cnv",
    "OrderBookRealtime": "N/A",
    "MarketCapitalization": null,
    "MarketCapRealtime": null,
    "EBITDA": null,
    "ChangeFromYearLow": null,
    "PercentChangeFromYearLow": null,
    "LastTradeRealtimeWithTime": "5:20am - <b>5837.61</b>",
    "ChangePercentRealtime": "+67.33 - +1.17%",
    "ChangeFromYearHigh": null,
    "PercebtChangeFromYearHigh": null,
    "LastTradeWithTime": "5:20am - <b>5837.61</b>",
    "LastTradePriceOnly": "5837.61",
    "HighLimit": null,
    "LowLimit": null,
    "DaysRange": "5769.67 - 5838.52",
    "DaysRangeRealtime": "5769.67 - 5838.52",
    "FiftydayMovingAverage": null,
    "TwoHundreddayMovingAverage": null,
    "ChangeFromTwoHundreddayMovingAverage": null,
    "PercentChangeFromTwoHundreddayMovingAverage": null,
    "ChangeFromFiftydayMovingAverage": null,
    "PercentChangeFromFiftydayMovingAverage": null,
    "Name": "FTSE 100",
    "Notes": "-",
    "Open": "5770.28",
    "PreviousClose": "5770.28",
    "PricePaid": null,
    "ChangeinPercent": "+1.17%",
    "PriceSales": null,
    "PriceBook": null,
    "ExDividendDate": "N/A",
    "PERatio": null,
    "DividendPayDate": "N/A",
    "PERatioRealtime": null,
    "PEGRatio": null,
    "PriceEPSEstimateCurrentYear": null,
    "PriceEPSEstimateNextYear": null,
    "Symbol": "^FTSE",
    "SharesOwned": null,
    "ShortRatio": null,
    "LastTradeTime": "5:20am",
    "TickerTrend": "N/A",
    "OneyrTargetPrice": null,
    "Volume": "0",
    "HoldingsValue": null,
    "HoldingsValueRealtime": null,
    "YearRange": "4790.04 - 5902.11",
    "DaysValueChange": "- - +1.17%",
    "DaysValueChangeRealtime": "- - +1.17%",
    "StockExchange": "FSI",
    "DividendYield": null,
    "PercentChange": "+1.17%"
   }
  }
 }
});

3 个答案:

答案 0 :(得分:1)

头部破坏2天后得到了答案。不敢相信。这是代码。它只是从FTSE 100的YQL查询输出数据。感谢您回答所有人!

<div id="finance"></div>

<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(function() {
    $.getJSON(

"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22%5EFTSE%22)%0A%09%09&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=?", 

function(json){
  $('#finance').text(json.query.results.quote.Change);  
    // Patching payload into page element ID = "dog"
});


});
</script>

答案 1 :(得分:0)

jQuery.getJSON():使用GET HTTP请求从服务器加载JSON编码的数据。

jQuery.parseJSON:获取格式正确的JSON字符串并返回生成的JavaScript对象。

答案 2 :(得分:0)

你准备输出什么?如果这是字符串格式的有效JSON对象,则可以使用...

var obj = eval(JSON);

JSON是您从雅虎收到的Feed。

然后,您可以访问对象上的属性,例如

var queryCount = obj.query.count;