gpt4 book ai didi

c++ - 使用 CPPREST-SDK 将 std::vector 转换为 JSON

转载 作者:太空宇宙 更新时间:2023-11-04 13:02:53 26 4
gpt4 key购买 nike

目前我正在开发一个 C++ 项目,使用 CPPRESTSDK(又名卡萨布兰卡)编写 API 的服务器端。
序列化值,如 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)

提前感谢您所做的一切!

最佳答案

vector 序列化:

    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());
}

关于c++ - 使用 CPPREST-SDK 将 std::vector 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43479692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com