Преобразование std :: vector в JSON с использованием CPPREST-SDK

В данный момент я работаю над проектом на c ++, пишу на стороне сервера API, используя CPPRESTSDK (a.k.a. Casablanca).
Сериализация значений, таких как int, double и т. Д., Уже реализована в библиотеке cpprestsdk.

Я хотел бы спросить сейчас, есть ли способ сериализации std::vector к json::value на клиенте сделать запрос и затем десериализовать его на сервере?
Что-то вроде:

    http_client client(U("http://localhost"));
json::value jsonVector(std::vector);
make_task_request(client, methods::POST, jsonVector)

Спасибо за все заранее!

1

Решение

Векторная сериализация:

    std::vector<int> someVector;
web::json::value json;

std::vector<value> array;

if (someVectory.size()) {
for (auto num : someVector) {
array.push_back(value(num));
}

json["yourKey"] = value::array(array);
}

Если вам не нужно помещать массив в контейнерный объект, просто используйте value::array(array) который превращает std::vector в массив.

Для десериализации, скажем, у вас есть известный массив в array затем:

    std::vector<int> intVector;
for (auto it=array.cbegin();it!=array.cend();++it) {
intVector.push_back(it->as_integer());
}
0

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

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

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