首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CPPREST-SDK将std::vector转换为JSON

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

Stack Overflow用户
提问于 2017-04-19 02:30:29
回答 1查看 2.3K关注 0票数 2

目前,我正在做一个c++项目,使用CPPRESTSDK (也称为.卡萨布兰卡)。

在cpprestsdk库中已经实现了对int、double等值的序列化。

我现在想问,是否有任何方法可以在客户端将std::vector序列化为json::value,发出请求,然后在服务器端对其进行反序列化?

类似于:

代码语言:javascript
复制
    http_client client(U("http://localhost"));
    json::value jsonVector(std::vector);
    make_task_request(client, methods::POST, jsonVector)

提前感谢你所做的一切!

EN

回答 1

Stack Overflow用户

发布于 2017-05-29 02:12:38

向量序列化:

代码语言:javascript
复制
    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);
    }

如果不需要将数组推入容器对象,那么只需使用将std::vector转换为数组的value::array(array)即可。

为了进行反序列化,假设您在array中有一个已知的数组,那么:

代码语言:javascript
复制
    std::vector<int> intVector;
    for (auto it=array.cbegin();it!=array.cend();++it) {
        intVector.push_back(it->as_integer());
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43479692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档