我一直在使用 Google Finance API 成功收集了一些股票信息。问题在于,在调用 之后http://www.google.com/finance/info?infotype=infoquoteall&q=[$tickerSymbol]
,Google 返回的 JSON 已//
添加到它之前,因此无法使用 PHP 的json_encode()
. JSONLint JSON Validator确认//
s 无效。显而易见的解决方法是去掉 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"
}
]