C++ jsoncpp查找成员函数
我在Win32平台上使用jsoncpp库的v1.6.2。很好,我能够使用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'。我尝试了”,但它没有返回任何我可以使用的内容 我应该试着用这种方式来寻找东西吗 我发现文档非常稀
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什么时候开始有名称空间了?