gpt4 book ai didi

c++ - Boost property tree 计数不包括 childs?

转载 作者:搜寻专家 更新时间:2023-10-31 01:02:24 24 4
gpt4 key购买 nike

我有一个看起来像这样的 json:

{"field":{"val1":25, "val2":48, "name1":"qqd"}}

当我对收到的 json 进行验证时,有如下特定字段:

std::size_t fcnt = pt.count("field");
std::size_t val1cnt = pt.count("field.val1");
std::size_t val2cnt = pt.count("field.val2");
std::size_t nm1cnt = pt.count("field.name1");
std::cout << fcnt << val1cnt << val2cnt << nm1cnt << std::endl; // this is just for testing
if (fcnt != 1 || val1cnt != 1 || val2cnt != 1 || nm1cnt !=1)
throw BadJSONFormatException();

我总是遇到异常,打印的值是:1000。为什么? count 不是这样的吗?

最佳答案

文档说:“计算具有给定 key 的直接子节点的数量。”

换句话说,您传递的字符串是一个简单的键,而不是路径。点不会得到特殊处理。

我认为让ptree 具有双重容器/路径接口(interface)是它存在的最大问题。我看到了太多的困惑。下一个版本要考虑的事情。

关于c++ - Boost property tree 计数不包括 childs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27313852/

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