2017-07-07 10 views
-2
this post

こんにちは、この質問があり、類似:PHPフェッチGoogleの財務データ

しかし残念ながら、それはPHPで動作していないです。

header('charset=utf8'); 
$rr=file_get_contents("https://www.google.com/finance/info?q=NSE:TCS"); 
$json = json_decode($rr, true); 
    echo '<pre>' . print_r($json, true) . '</pre>'; 

これは空白です。データなし。

file_get_contentsのみを使用すると、次のようになります。

// [ { "id": "784961" ,"t" : "TCS" ,"e" : "NSE" ,"l" : "2,437.00" ,"l_fix" : 
"2437.00" ,"l_cur" : "₹2,437.00" ,"s": "0" ,"ltt":"3:49PM GMT+5:30" ,"lt" : 
"Jul 20, 3:49PM GMT+5:30" ,"lt_dts" : "2017-07-20T15:49:12Z" ,"c" : "-12.60" 
    ,"c_fix" : "-12.60" ,"cp" : "-0.51" ,"cp_fix" : "-0.51" ,"ccol" : "chr" 
    ,"pcls_fix" : "2449.6" } ] 

json_decodeが機能しない場合、私の選択肢は他の方法で行います。 データを表形式または各シェアで表示します。

full quote link 
http://www.google.com/finance/info?infotype=infoquoteall&q=NSE:TCS" 

答えて

1

私はこの問題を正しく理解していませんでした。 基本的に、Googleは無効なJSON、それを使用する前に "固定" することの必要性を返します。

$rr = trim(str_replace(array("\r", "\n", "//"), '', $rr)); 
$json = json_decode($rr); 

結果:

array(1) { [0]=> object(stdClass)#1 (16) { ["id"]=> string(6) "784961" ["t"]=> string(3) "TCS" ["e"]=> string(3) "NSE" ["l"]=> string(8) "2,437.00" ["l_fix"]=> string(7) "2437.00" ["l_cur"]=> string(15) "₹2,437.00" ["s"]=> string(1) "0" ["ltt"]=> string(15) "3:49PM GMT+5:30" ["lt"]=> string(23) "Jul 20, 3:49PM GMT+5:30" ["lt_dts"]=> string(20) "2017-07-20T15:49:12Z" ["c"]=> string(6) "-12.60" ["c_fix"]=> string(6) "-12.60" ["cp"]=> string(5) "-0.51" ["cp_fix"]=> string(5) "-0.51" ["ccol"]=> string(3) "chr" ["pcls_fix"]=> string(6) "2449.6" } } 
+0

私は "//" スタイル:)と同じ考えを持っていました。個々のフィールドにアクセスする方法?例えば、株価 "l" – mimi

+0

私はそれをやってみましたecho $ arr [0] - > l;私はエラーを取得します。未定義の変数:arr、オブジェクト以外の2つのエラーのプロパティを取得しようとしています。 – mimi

+1

@mimi上のexampkeのために '$ json [0] - > l' –

関連する問題