如何创建带有分层对象和值的json对象?

时间:2019-06-20 15:33:52

标签: c++ json c++11 casablanca

如何使用Casablanca / cpprestsdk JSON库创建分层的JSON对象和值结构?

我引用了以下链接。但是我不知道将JSON对象放在另一个JSON对象中

https://github.com/Microsoft/cpprestsdk/wiki/JSON https://microsoft.github.io/cpprestsdk/namespaceweb_1_1json.html

JSON对象:

{
    "employee" :
    {
        "name" : "vinkris",
        "age"  : "30"
    }
}

{
    struct employee emp;
    string object = U("{") + U("employee:") + U("{") ;
    object += U("name:") + emp.name + U(",") ;
    object += U("age:") + std::to_string(emp.age) + U("}") ;
    json::value = json::value::string(object)
}

是否可以简化JSON主体的构造方式?

例如:

{
    JsonObject object();
    JsonSubObjects subObject();
    subObjects.add("name", "vinkris");
    subObjects.add("age", "30");
    object.add("employee", subObject)
}

我对和卡萨布兰卡图书馆都很陌生。想知道这是否可能吗?

了解如何构建类似这样的东西真是太好了。

1 个答案:

答案 0 :(得分:0)

json::value obj      = json::value::object();
json::value employee = json::value::object();

employee[U("name")]  = json::value::string(U("vinkris"));
employee[U("age")]   = json::value::number(30);

obj[U("employee")]   = employee;

转到此:

{"employee":{"age":30,"name":"vinkris"}}