Google Finance APIを使用していくつかの株価情報を収集しています。問題は、http://www.google.com/finance/info?infotype=infoquoteall&q=[$tickerSymbol]
を呼び出した後、Googleが返すJSONには//
が追加されているため、PHPのjson_encode()
を使用して文字列をエンコードできないことです。 JSONLint JSON Validatorは、//
が無効であることを確認します。明らかな回避策は、JSONの先頭からスラッシュを取り除くことです。それほど多くはありませんが、私はなぜGoogleがJSONにスラッシュを追加しているのか不思議に思っています。余分なスラッシュの後ろに目的はありますか?これはPHPのjson_encode()
で他の言語が単に余分な文字を無視するような奇妙なものでしょうか?間違って何かしていますか?Google Finance APIコールからJSONの先行スラッシュ
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"
}
]
私もこれに遭遇しましたが、今まで何が起きているのか分かりません。私が気づいた唯一の事は、あなたが実際の会社を提供しているときにスラッシュを追加するように見えるということです(特定の会社が見つからなければ、検索結果の束とは対照的です)。非常に奇妙な。 –
+1。同じことを経験し、私の人生のためには、なぜ彼らは応答に無効な文字を追加するのか理解できません。私はそれがセキュリティとは何かを持っていると推測していますが、これに関するドキュメントは見つかりません。 – dbau