Json :: Value在返回时会被更改?

时间:2017-03-14 19:29:33

标签: c++ json c++11 jsoncpp

您好我有这个方法返回一个Json :: Value

Json::Value simplifyDate(const Json::Value& data) {
    Json::Value value;
    if (data.get("$JSNType", "").asString() == "date") {
        value = data["value"];
    }
    return value;
}

如果我在返回前检查value,则为{"dayOfTheMonth":1,"month":3,"year":2017}

但是在调用方法中:

Json::Value value = simplifyDate(data);

value获得此值:{"dayOfTheMonth":0,"month":0,"year":0}

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

操作

value = Json::Value(data["value"]);

代替value = data["value"]似乎解决了问题