私はGoogleFinanceAPIを使用して、株式情報を正常に収集してきました。問題は、の呼び出し後、http://www.google.com/finance/info?infotype=infoquoteall&q=[$tickerSymbol]
Googleが返すJSONがその//
前に追加されているため、PHPを使用して文字列をエンコードできないことjson_encode()
です。JSONLint JSONバリデーターは、が無効であることを確認し//
ます。明らかな回避策は、JSONの先頭からスラッシュを取り除くことです。それでも、Googleが返すJSONにスラッシュを追加するのはなぜか疑問に思っています。余分なスラッシュの背後に目的はありますか?json_encode()
これは、他の言語が単に余分な文字を無視する場合のPHPの癖ですか?私は何か間違ったことをしていますか?
http://www.google.com/finance/info?infotype=infoquoteall&q=AAPL
これは、先頭にスラッシュを付けたリクエストの結果の例です。
// [ {
"id": "22144"
,"t" : "AAPL"
,"e" : "NASDAQ"
,"l" : "340.65"
,"l_cur" : "340.65"
,"ltt":"4:00PM EST"
,"lt" : "Jan 18, 4:00PM EST"
,"c" : "-7.83"
,"cp" : "-2.25"
,"ccol" : "chr"
,"el": "345.20"
,"el_cur": "345.20"
,"elt" : "Jan 18, 5:45PM EST"
,"ec" : "+4.55"
,"ecp" : "1.34"
,"eccol" : "chg"
,"div" : ""
,"yld" : ""
,"eo" : ""
,"delay": ""
,"op" : "327.05"
,"hi" : "344.76"
,"lo" : "326.00"
,"vo" : "66.34M"
,"avvo" : "11.28M"
,"hi52" : "348.48"
,"lo52" : "190.25"
,"mc" : "313.75B"
,"pe" : "22.49"
,"fwpe" : ""
,"beta" : "1.38"
,"eps" : "15.15"
,"name" : "Apple Inc."
,"type" : "Company"
}
]