Я использую Google Finance API для успешного сбора некоторой информации об акциях. Проблема заключается в том, что после вызова http://www.google.com/finance/info?infotype=infoquoteall&q=[$tickerSymbol]
в JSON, который возвращает Google, добавляется //
перед ним, и поэтому строку нельзя закодировать с использованием PHP json_encode()
. JSONLint JSON Validator подтверждает, что //
недопустимы. Очевидный обходной путь - убрать косые черты с начала JSON. Тем не менее, мне остается удивляться, почему Google добавляет косые черты в JSON, который он возвращает. Есть ли цель за дополнительными слешами? Это странная вещь с PHP json_encode()
, когда другие языки просто игнорируют дополнительные символы? Я что-то делаю неправильно?
Вот пример результата запроса для 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"
}
]