2012-05-11 3 views
0

Может ли кто-нибудь помочь мне получить данные из этого json-скрипта, сгенерированного из yql. Я хочу, чтобы хранить данные в MySQL, который награбленных отсюда ... Я хочу, чтобы извлечь или захватить Datas AskRealtime, BidRealtime, LastTradeDate, LastTradePriceOnly, LastTradeTime, Askизвлекать или извлекать данные из Json в php и вставлять в базу данных mysql

<?php 
session_start(); 
query= Insert into table .....value ... 
?> 

Я хочу сделать что-то вроде вышеприведенного сценария от ниже json. лучше, если я могу сразу же распечатать распакованные данные в одной и той же страницы в одном из HTML таблицы, не отправляя его в MySQL и вытягивать данные оттуда ...

`{

"query": { 
    "count": 5, 
    "created": "2012-05-11T01:14:55Z", 
    "lang": "en-US", 
    "diagnostics": { 
     "publiclyCallable": "true", 
     "redirect": { 
      "from": "http://datatables.org/alltables.env", 
      "status": "301", 
      "content": "http://www.datatables.org/alltables.env" 
     }, 
     "url": [ 
      { 
       "execution-start-time": "425", 
       "execution-stop-time": "865", 
       "execution-time": "440", 
       "proxy": "DEFAULT", 
       "content": "http://datatables.org/alltables.env" 
      }, 
      { 
       "execution-start-time": "884", 
       "execution-stop-time": "1097", 
       "execution-time": "213", 
       "proxy": "DEFAULT", 
       "content": "http://www.datatables.org/yahoo/finance/yahoo.finance.quotes.xml" 
      }, 
      { 
       "execution-start-time": "1307", 
       "execution-stop-time": "1307", 
       "execution-time": "0", 
       "proxy": "DEFAULT", 
       "content": "http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc1c3c6c8dd1d2ee1e7e8e9ghjkg1g3g4g5g6ii5j1j3j4j5j6k1k2k4k5ll1l2l3mm2m3m4m5m6m7m8nn4opp1p2p5p6qrr1r2r5r6r7ss1s7t1t7t8vv1v7ww1w4xy&s=XAUUSD%3DX,XAGUSD%3DX,PLN12.NYM,PAK12.NYM,USDCAD%3DX" 
      } 
     ], 
     "query": { 
      "execution-start-time": "1105", 
      "execution-stop-time": "1308", 
      "execution-time": "203", 
      "params": "{url=[http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc1c3c6c8dd1d2ee1e7e8e9ghjkg1g3g4g5g6ii5j1j3j4j5j6k1k2k4k5ll1l2l3mm2m3m4m5m6m7m8nn4opp1p2p5p6qrr1r2r5r6r7ss1s7t1t7t8vv1v7ww1w4xy&s=XAUUSD%3DX,XAGUSD%3DX,PLN12.NYM,PAK12.NYM,USDCAD%3DX]}", 
      "content": "select * from csv where [email protected] and columns='Ask,AverageDailyVolume,Bid,AskRealtime,BidRealtime,BookValue,Change&PercentChange,Change,Commission,ChangeRealtime,AfterHoursChangeRealtime,DividendShare,LastTradeDate,TradeDate,EarningsShare,ErrorIndicationreturnedforsymbolchangedinvalid,EPSEstimateCurrentYear,EPSEstimateNextYear,EPSEstimateNextQuarter,DaysLow,DaysHigh,YearLow,YearHigh,HoldingsGainPercent,AnnualizedGain,HoldingsGain,HoldingsGainPercentRealtime,HoldingsGainRealtime,MoreInfo,OrderBookRealtime,MarketCapitalization,MarketCapRealtime,EBITDA,ChangeFromYearLow,PercentChangeFromYearLow,LastTradeRealtimeWithTime,ChangePercentRealtime,ChangeFromYearHigh,PercebtChangeFromYearHigh,LastTradeWithTime,LastTradePriceOnly,HighLimit,LowLimit,DaysRange,DaysRangeRealtime,FiftydayMovingAverage,TwoHundreddayMovingAverage,ChangeFromTwoHundreddayMovingAverage,PercentChangeFromTwoHundreddayMovingAverage,ChangeFromFiftydayMovingAverage,PercentChangeFromFiftydayMovingAverage,Name,Notes,Open,PreviousClose,PricePaid,ChangeinPercent,PriceSales,PriceBook,ExDividendDate,PERatio,DividendPayDate,PERatioRealtime,PEGRatio,PriceEPSEstimateCurrentYear,PriceEPSEstimateNextYear,Symbol,SharesOwned,ShortRatio,LastTradeTime,TickerTrend,OneyrTargetPrice,Volume,HoldingsValue,HoldingsValueRealtime,YearRange,DaysValueChange,DaysValueChangeRealtime,StockExchange,DividendYield'" 
     }, 
     "javascript": { 
      "execution-time": "266", 
      "instructions-used": "302754", 
      "table-name": "yahoo.finance.quotes" 
     }, 
     "warning": "Unable to sort response according to field 'Ask,Bid,AskRealtime,BidRealtime,LastTradeDate,LastTradePriceOnly,LastTradeTime'.", 
     "user-time": "1373", 
     "service-time": "653", 
     "build-version": "27222" 
    }, 
    "results": { 
     "quote": [ 
      { 
       "symbol": "XAUUSD=X", 
       "Bid": "1590.9498", 
       "AskRealtime": null, 
       "BidRealtime": null, 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "1590.5499", 
       "LastTradeTime": "9:12pm", 
       "Ask": "1590.15" 
      }, 
      { 
       "symbol": "XAGUSD=X", 
       "Bid": null, 
       "AskRealtime": null, 
       "BidRealtime": null, 
       "LastTradeDate": "5/10/2012", 
       "LastTradePriceOnly": "29.136", 
       "LastTradeTime": "5:27pm", 
       "Ask": null 
      }, 
      { 
       "symbol": "PLN12.NYM", 
       "Bid": null, 
       "AskRealtime": "1486.50", 
       "BidRealtime": "1486.00", 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "1486.00", 
       "LastTradeTime": "8:44pm", 
       "Ask": null 
      }, 
      { 
       "symbol": "PAK12.NYM", 
       "Bid": null, 
       "AskRealtime": "616.00", 
       "BidRealtime": "609.40", 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "658.80", 
       "LastTradeTime": "8:00pm", 
       "Ask": null 
      }, 
      { 
       "symbol": "USDCAD=X", 
       "Bid": "1.0033", 
       "AskRealtime": null, 
       "BidRealtime": null, 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "1.0034", 
       "LastTradeTime": "9:13pm", 
       "Ask": "1.0035" 
      } 
     ] 
    } 
} 

}`

ссылка на этот JSon сценарий здесь Json script generated by YQL сценарий JSON проверяется из http://jsonlint.com/

ответ

2

Если я правильно понимаю ваш вопрос, вы хотите принять, что JSON и быть в состоянии получить доступ к данным в? Чтобы сделать JSON немного проще в использовании, я бы предложил использовать следующий код, который использует json_decode function, который преобразует JSON в полезный массив php. (Я включил эхо заявление, так что вы можете увидеть, что в результате ассоциативный массив выглядит)

$yql_json = 
'{ 
"query": { 
    "count": 5, 
    "created": "2012-05-11T01:14:55Z", 
    "lang": "en-US", 
    "diagnostics": { 
     "publiclyCallable": "true", 
     "redirect": { 
      "from": "http://datatables.org/alltables.env", 
      "status": "301", 
      "content": "http://www.datatables.org/alltables.env" 
     }, 
     "url": [ 
      { 
       "execution-start-time": "425", 
       "execution-stop-time": "865", 
       "execution-time": "440", 
       "proxy": "DEFAULT", 
       "content": "http://datatables.org/alltables.env" 
      }, 
      { 
       "execution-start-time": "884", 
       "execution-stop-time": "1097", 
       "execution-time": "213", 
       "proxy": "DEFAULT", 
       "content": "http://www.datatables.org/yahoo/finance/yahoo.finance.quotes.xml" 
      }, 
      { 
       "execution-start-time": "1307", 
       "execution-stop-time": "1307", 
       "execution-time": "0", 
       "proxy": "DEFAULT", 
       "content": "http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc1c3c6c8dd1d2ee1e7e8e9ghjkg1g3g4g5g6ii5j1j3j4j5j6k1k2k4k5ll1l2l3mm2m3m4m5m6m7m8nn4opp1p2p5p6qrr1r2r5r6r7ss1s7t1t7t8vv1v7ww1w4xy&s=XAUUSD%3DX,XAGUSD%3DX,PLN12.NYM,PAK12.NYM,USDCAD%3DX" 
      } 
     ], 
     "query": { 
      "execution-start-time": "1105", 
      "execution-stop-time": "1308", 
      "execution-time": "203", 
      "params": "{url=[http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc1c3c6c8dd1d2ee1e7e8e9ghjkg1g3g4g5g6ii5j1j3j4j5j6k1k2k4k5ll1l2l3mm2m3m4m5m6m7m8nn4opp1p2p5p6qrr1r2r5r6r7ss1s7t1t7t8vv1v7ww1w4xy&s=XAUUSD%3DX,XAGUSD%3DX,PLN12.NYM,PAK12.NYM,USDCAD%3DX]}", 
      "content": "select * from csv where [email protected] and columns=\'Ask,AverageDailyVolume,Bid,AskRealtime,BidRealtime,BookValue,Change&PercentChange,Change,Commission,ChangeRealtime,AfterHoursChangeRealtime,DividendShare,LastTradeDate,TradeDate,EarningsShare,ErrorIndicationreturnedforsymbolchangedinvalid,EPSEstimateCurrentYear,EPSEstimateNextYear,EPSEstimateNextQuarter,DaysLow,DaysHigh,YearLow,YearHigh,HoldingsGainPercent,AnnualizedGain,HoldingsGain,HoldingsGainPercentRealtime,HoldingsGainRealtime,MoreInfo,OrderBookRealtime,MarketCapitalization,MarketCapRealtime,EBITDA,ChangeFromYearLow,PercentChangeFromYearLow,LastTradeRealtimeWithTime,ChangePercentRealtime,ChangeFromYearHigh,PercebtChangeFromYearHigh,LastTradeWithTime,LastTradePriceOnly,HighLimit,LowLimit,DaysRange,DaysRangeRealtime,FiftydayMovingAverage,TwoHundreddayMovingAverage,ChangeFromTwoHundreddayMovingAverage,PercentChangeFromTwoHundreddayMovingAverage,ChangeFromFiftydayMovingAverage,PercentChangeFromFiftydayMovingAverage,Name,Notes,Open,PreviousClose,PricePaid,ChangeinPercent,PriceSales,PriceBook,ExDividendDate,PERatio,DividendPayDate,PERatioRealtime,PEGRatio,PriceEPSEstimateCurrentYear,PriceEPSEstimateNextYear,Symbol,SharesOwned,ShortRatio,LastTradeTime,TickerTrend,OneyrTargetPrice,Volume,HoldingsValue,HoldingsValueRealtime,YearRange,DaysValueChange,DaysValueChangeRealtime,StockExchange,DividendYield\'" 
     }, 
     "javascript": { 
      "execution-time": "266", 
      "instructions-used": "302754", 
      "table-name": "yahoo.finance.quotes" 
     }, 
     "warning": "Unable to sort response according to field \'Ask,Bid,AskRealtime,BidRealtime,LastTradeDate,LastTradePriceOnly,LastTradeTime\'.", 
     "user-time": "1373", 
     "service-time": "653", 
     "build-version": "27222" 
    }, 
    "results": { 
     "quote": [ 
      { 
       "symbol": "XAUUSD=X", 
       "Bid": "1590.9498", 
       "AskRealtime": null, 
       "BidRealtime": null, 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "1590.5499", 
       "LastTradeTime": "9:12pm", 
       "Ask": "1590.15" 
      }, 
      { 
       "symbol": "XAGUSD=X", 
       "Bid": null, 
       "AskRealtime": null, 
       "BidRealtime": null, 
       "LastTradeDate": "5/10/2012", 
       "LastTradePriceOnly": "29.136", 
       "LastTradeTime": "5:27pm", 
       "Ask": null 
      }, 
      { 
       "symbol": "PLN12.NYM", 
       "Bid": null, 
       "AskRealtime": "1486.50", 
       "BidRealtime": "1486.00", 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "1486.00", 
       "LastTradeTime": "8:44pm", 
       "Ask": null 
      }, 
      { 
       "symbol": "PAK12.NYM", 
       "Bid": null, 
       "AskRealtime": "616.00", 
       "BidRealtime": "609.40", 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "658.80", 
       "LastTradeTime": "8:00pm", 
       "Ask": null 
      }, 
      { 
       "symbol": "USDCAD=X", 
       "Bid": "1.0033", 
       "AskRealtime": null, 
       "BidRealtime": null, 
       "LastTradeDate": "5/11/2012", 
       "LastTradePriceOnly": "1.0034", 
       "LastTradeTime": "9:13pm", 
       "Ask": "1.0035" 
      } 
     ] 
    } 
} 
}'; 

$yql_results = json_decode($yql_json, true); 
echo "<pre>".print_r($yql_results, true)."</pre>"; 

вход $ yql_json является сам JSON в виде строки (однако собирать и хранить его) и значение истинного передается в функцию, возвращает функцию ассоциативный массив, который хранится в $ yql_result. После этого вы можете легко получить доступ ко всем его элементам. Надеюсь, я ответил хотя бы на часть вашего вопроса. Удачи с проектом.

+0

thanz много для вашей помощи .. много много thanz –

Смежные вопросы