C ++ увеличивает свойство_дерево, сохраняя JSON в строку

Здравствуйте, я пытаюсь сохранить определенные значения из строки json, которую я получаю из API при использовании CURL.

текущий код:

#include <boost/property_tree/json_parser.hpp>
#include <boost/property_tree/ptree.hpp>
#include <string>
#include <curl/curl.h>  // -lcurl
#include <iostream>

using namespace std;
using namespace boost;
using boost::property_tree::ptree;
using boost::property_tree::read_json;

void curl_query() {
CURL *curl;
CURLcode res;
string readBuffer;

curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, query_id.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);

cout << readBuffer << endl; // json string here - - work's, just messy
}
ptree pt;
read_json(readBuffer, pt);

// so here I'd like to extract a specific part
string jsonBuffer = pt.get_child<std::string>("current.price");
cout << endl << jsonBuffer << endl;
}

Я смотрел на некоторые примеры, которые используют BOOST_FOREACH() для того, чтобы получить все значения, однако в моем случае есть только 1 значение, которое хранится в текущая цена для справки:
https://gist.github.com/mloskot/1509935

Ошибка дана:

‘In file included from /usr/include/boost/property_tree/json_parser.hpp:10:0,’

И еще много текста, я не вижу явных ошибок, но в моем текущем коде что-то не так.

Пожалуйста, обратите внимание: Замена read_json (который читает из std :: string или file) с помощью write_json (пытается записывать файл) компилируется нормально, но получает дамп ядра, так как файл не может быть создан / записан. Я не хочу писать json, поэтому я не уверен, что сейчас не так с моим кодом.

Любые предложения, ссылки, советы / подсказки — все очень ценится.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector