Я использую этот код, чтобы попытаться получить данные json из многих файлов json, используя yql, чтобы скомпилировать их в один json.
Мой запрос yql имеет следующий формат:
select * from json where
url="http://ebird.org/ws1.1/data/obs/region_spp/recent?rtype=subnational2&r=US&sci=Dendrocygna%20autumnalis&fmt=json"
or url = "http://ebird.org/ws1.1/data/obs/geo_spp/recent?lng=-119.859512&lat=34.410240&sci=Dendrocygna%20autumnalis&dist=49&back=14&maxResults=10000&fmt=json&includeProvisional=true"
and itemPath = "json.json"
I rawurlencode
выше, чтобы получить q=
часть URL-адреса запроса yql.Тогда я получаю этот выведенный URL.Он прекрасно работает, когда скопируйте и вставьте отраженный URL в мой браузер, но когда я пытаюсь использовать file_get_contents
в URL, я получаю это:
cbfunc({"error":{"lang":"en-US","diagnostics":{"publiclyCallable":"true"},"description":"Query syntax error(s) [line 1:3675 missing EOF at '_']"}});
Поэтому я спрашиваю, почему это не работает, когдаЯ использую его с file_get_contents
, но делает, когда я использую URL в моем браузере.Кроме того, есть ли более умный / простой способ использовать несколько файлов JSON вместе с PHP?Я попытался с помощью curl вытащить yql json и получил странный вывод, такой как:
8<\/howMany>34.4136<\/lat>-119.8756<\/lng>L615794
Этот метод был бы хорош, но я не знаю, как получить его в пригодный для использования массив.