gpt4 book ai didi

c++ - 在 Json::Value 中的 JsonCpp 中分配 [null]

转载 作者:行者123 更新时间:2023-11-30 03:28:11 49 4
gpt4 key购买 nike

我有一个应用程序需要以下 JSON 格式的配置但已缩小:

<config-json>
{
"config" : {
"services" : {
"analytics" : {
"sensor" : [
{
"name" : "ip-sensor",
"server-name" : ["ip-server1"],
"export-name" : "ip-export1",
"resource" : "/ipv4",
"bulk" : [null] // <-- Notice
}
]
}
}
}
}
</config-json>

在上面的 JSON 配置中,应用程序期望 "bulk" 始终为 [null]。从应用程序的角度来看,这是正确的期望。

在我的配置生成器代码中,我使用了 JsonCpp使用 Json::Value 构建 JSON 对象.

因为 "bulk" 需要是 [null],所以我按如下方式填充它:

//Json::Value *json_obj //Getting passed as an arg
(*json_obj)["config"]["services"]["analytics"]["sensor"][0]["bulk"] = Json::nullValue;

但我得到的是:

"bulk":null//注意 null 周围缺少的 []。

因此配置被丢弃。

JsonCpp有没有办法实现以下功能:

"bulk" : [null]

最佳答案

由于 Json 中的括号表示一个数组,因此您要的是一个包含 null 的数组。你应该可以这样做:

Json::Value jsonArray;
jsonArray.append(Json::Value::null);
(*json_obj)["config"]["services"]["analytics"]["sensor"][0][‌​"bulk"] = jsonArray;

关于c++ - 在 Json::Value 中的 JsonCpp 中分配 [null],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46799064/

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