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