C++ jsoncpp查找成员函数

C++ jsoncpp查找成员函数,c++,json,jsoncpp,C++,Json,Jsoncpp,我在Win32平台上使用jsoncpp库的v1.6.2。很好,我能够使用v.[firstname]等成功解析json并访问json:Values 问:如何在Json结构中按名称查找Json:Value?在我找到的文档中: Value const * Json::Value::find ( char const *key,char const *end ) const 但是它没有指定什么是'end'。我尝试了”,但它没有返回任何我可以使用的内容 我应该试着用这种方式来寻找东西吗 我发现文档非常稀

我在Win32平台上使用jsoncpp库的v1.6.2。很好,我能够使用
v.[firstname]
等成功解析json并访问
json:Values

问:如何在Json结构中按名称查找
Json:Value
?在我找到的文档中:

Value const * Json::Value::find ( char const *key,char const *end ) const
但是它没有指定什么是
'end'
。我尝试了
,但它没有返回任何我可以使用的内容

我应该试着用这种方式来寻找东西吗

我发现文档非常稀少,因此一些jsoncpp程序示例将非常有用


感谢

要在json结构中搜索密钥,可以使用std::find:

if (std::find(v.begin(), v.end(),"key") != v.end())
    printf("Found it!\n");
v是您的Json:Value对象

或者,没有STL的另一个解决方案:

if (root.isMember("key"))
    printf("Found it!\n");

根据源代码,
find
与index操作符是相同的,除了可能不是以零结尾的字符串(因此您要传递
begin
end
指针)。不过,我不确定你想用“发现”做什么。你想实现什么?也许你在寻找类似的东西?我试图根据值的名称在Json表达式的某处找到一个Json::值。一种随机存取。我想
找到
就是了<代码>查找
由isMember引用,例如
isMember(key,key+strlen(key))
因此,
end
在不存在零终止的情况下指向字符串的结尾是合理的,正如您所建议的那样。谢谢你的链接-这比我想的要早!我自己也可以通过表达式递归查看所有内容,但我认为jsoncpp中已经有了一些内容。C什么时候开始有名称空间了?