Как отправить заголовки из YQL, чтобы вернуть формат JSON при запросе API opendatabc? - PullRequest
1 голос
/ 21 февраля 2012

Мне интересно, есть ли способ отправки заголовков из YQL (или из консоли YQL), как в cURL.

Я хотел бы вернуть JSON, указав заголовок Accept: application/json.

Я могу вернуть JSON с помощью cURL и командной строки следующим образом:

curl -H 'Accept: application/json' http://www.opendatabc.ca/data?=births

но я не могу понять, как установить заголовок при отправке YQL.

Ответы [ 3 ]

1 голос
/ 15 марта 2012

Вы можете сделать это с помощью Таблицы открытых данных YQL .

Вот простая демонстрация.

Суть примера XML-файла таблицы открытых данных можно найти здесь: https://gist.github.com/2042904 (см. Документацию здесь .)

В моем примере XML вы заметите, что я использую y.xmlToJson для ответа объекта, полученного из запроса get () . Это связано с тем, что YQL преобразует JSON, взятый из веб-сервисов, в E4X. Подробнее об этом в мой вопрос .

0 голосов
/ 06 сентября 2017

используйте "jq", если еще не установили, сначала запустите эту команду sudo apt-get install jq

тогда вы можете свернуть свой URL, как это

curl -H 'Accept: application/json' http://www.opendatabc.ca/data?=births | jq '.'
0 голосов
/ 01 марта 2015

Вы должны использовать параметр format при запросе YQL через API вместо заголовков.Либо по format=json или format=xml.

Пример JSON:

curl -G --data-urlencode 'q=SELECT * FROM html WHERE url = "example.com"' http://query.yahooapis.com/v1/public/yql?format=json

Пример XML:

curl -G --data-urlencode 'q=SELECT * FROM html WHERE url = "example.com"' http://query.yahooapis.com/v1/public/yql?format=xml
...