2012-05-11 15 views
0

yqlから生成されたこのjsonスクリプトからデータを取得する方法を教えてください。私はAskRealtime、BidRealtime、LastTradeDate、LastTradePriceOnly、LastTradeTimeを抽出したり、グラブ件のデータにしたい...ここからつかまれるのmysqlにデータを格納したい、Jsonからのデータを取得してPHPに抽出し、mysqlデータベースに挿入

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

を掲載し、私は、上記のスクリプトのような何かをしたいです下のjsonから。私は直接...のMySQLに送信し、そこからデータを引っ張ることなく、HTMLテーブルのいずれかで同じページに

`{

"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を取り、データにアクセスできるようにしたい場合は、JSONスクリプトがhttp://jsonlint.com/

答えて

2

から確認され、ここでJson script generated by YQL です内に? JSONを少し使いやすくするために、私はjson_decode functionを使って次のコードを使用して、JSONをPHPの使用可能な配列に変換することをお勧めします。 $のyql_json入力は文字列としてJSON自体(あなたが収集し、それを格納しかし)と真の値である

$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>"; 

を(あなたは結果の連想配列がどのように見えるかを見ることができるように、私はecho文を含みます)関数に渡されると、関数は$ yql_resultに格納される連想配列を返します。その後、簡単にすべてのアイテムにアクセスできます。私はあなたの質問の少なくとも一部に答えることを願っています。あなたのプロジェクトに幸運。

+0

あなたのお世話になりました。 –

関連する問題