JQuery для чтения и вывода данных JSON - PullRequest
2 голосов
/ 07 декабря 2010

У меня есть этот канал от 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 ]

1 голос
/ 07 декабря 2010

Получил ответ через 2 дня после крушения головы.Не могу в это поверить.Вот кодЭто было просто для вывода данных из запроса YQL для FTSE 100. Спасибо за ответы всем!

<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>
0 голосов
/ 07 декабря 2010

Что вы пытаетесь точно вывести? Если это допустимый объект JSON в строковом формате, вы можете использовать ...

var obj = eval(JSON);

Где JSON - фид, который вы получаете от Yahoo.

Затем вы можете получить доступ к свойствам объекта, например.

var queryCount = obj.query.count;
0 голосов
/ 07 декабря 2010

jQuery.getJSON () : загрузка JSON-кодированных данных с сервера с помощью HTTP-запроса GET.

jQuery.parseJSON : получение правильно сформированногоСтрока JSON и возвращает полученный объект JavaScript.

...