2013-05-26 1 views
0

Я использую геокодирование для получения широты и долготы адреса с помощью функций libcurl. он отлично работает, и программа выводит мне ответ json на терминале ubuntu. Я просто не знаю, как использовать опцию WRITEFUNCTION в libcurl для сохранения ответа с сервера google в json-файле. он работает с обычным текстовым файлом с функцией write_data, я не знаю, как получить данные в json-файле.сохранить json-ответ от геокодирования в json-файле с помощью libcurl в c

Если кто знает, спасибо!

Gioia

ответ

1

Все, что вам нужно сделать, это следовать официальной url2file.c пример. Позаботьтесь о:

  • изменить имя выходного файла, если хотите (см. pagefilename). Дополнительно: использовать расширение .json - это просто способ указывают, что этот файл содержит JSON
  • использование "w" в открытом режиме вместо "wb" (т.е. fopen(pagefilename, "w");)

Примечания:

  • файл JSON является не более чем текстовым файлом с кодировкой UTF-8 по умолчанию,
  • libcurl можно альтернативно объединить с библиотекой JSON, чтобы управлять объектом JSON objec t после передачи. Вот пример с json-c, который имеет прогрессивный формат JSON синтаксический: https://github.com/deltheil/json-url
+0

спасибо так много, я просто хочу знать, если я могу создать объект JSON в коде, как с json_object * jobj = json_object_new_object(); а затем непосредственно помещайте содержимое ответа. это то же самое, что манипулировать файлом? – Gioia

+0

Вы можете свободно комбинировать libcurl с c-json таким образом. Но есть еще лучше: вы можете воспользоваться возможностью прогрессивного разбора json-c, чтобы у вас был готовый к использованию JSON-объект post-transfer. Я отредактировал ответ со ссылкой на пример кода. – deltheil

+0

Еще раз спасибо за доброту. Мне было интересно, где эти функции, поскольку я видел функцию json_object_to_json_string. – Gioia

Смежные вопросы