2012-05-11 5 views
0

yql에서 생성 된이 json 스크립트에서 데이터를 가져 오는 방법을 도와 줄 수 있습니까? 나는 추출하거나 잡아 datas의 AskRealtime이 BidRealtime는, LastTradeDate는 LastTradePriceOnly, LastTradeTime, 나는 위의 스크립트 같은 것을하고 싶지Json에서 PHP로 데이터를 가져 오거나 추출하여 mysql 데이터베이스에 삽입하십시오.

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

질문 할 ... 여기에서 잡고있다 MySQL의에 데이터를 저장할 아래 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" 
      } 
     ] 
    } 
} 

}`

...의 MySQL로 전송하고 거기에서 데이터를 당기는없이

를 HTML 테이블 중 하나에있는 동일한 페이지에 대한 상기 추출 된 데이터를 인쇄 할 수 있는지

이 JSON 스크립트에 대한 링크는 여기에 내가 제대로 질문을 이해하면 JSON 스크립트가 http://jsonlint.com/

답변

2

에서 확인 Json script generated by YQL , 당신이 먹고 싶어 그 JSON 데이터에 액세스 할 수 이내에? JSON을 조금 더 쉽게 사용하려면 다음 코드를 사용하여 PHP를 사용할 수있는 배열로 JSON을 변환하는 json_decode function을 사용하는 것이 좋습니다. 은 $ 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>"; 

(수집 그러나 및 보관) (난 당신이 결과 연관 배열의 모습을 볼 수 있도록 에코 문을 포함)과 실제의 값 함수에 전달되면 함수는 $ yql_result에 저장되는 연관 배열을 반환합니다. 이 후에 모든 항목을 쉽게 액세스 할 수 있습니다. 나는 적어도 당신의 질문에 대답하기를 바랍니다. 프로젝트에 행운을 비네.

+0

너의 도움이 많다 .. 많은 사람들이 많다. –

관련 문제