Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JsonCpp遍历json大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. #include"json.h"
  2. typedefJson::WriterJsonWriter;
  3. typedefJson::readerJsonReader;
  4. typedefJson::ValueJsonValue;
  5. voidprint(JsonValuev)
  6. {
  7. JsonValue::Membersmem=v.getMemberNames();
  8. for(autoiter=mem.begin();iter!=mem.end();iter++)
  9. {
  10. cout<<*iter<<"\t:";
  11. if(v[*iter].type()==Json::objectvalue)
  12. cout<<endl;
  13. print(v[*iter]);
  14. }
  15. elseif(v[*iter].type()==Json::arrayvalue)
  16. cout<<endl;
  17. autocnt=v[*iter].size();
  18. for(autoi=0;i<cnt;i++)
  19. print(v[*iter][i]);
  20. }
  21. if(v[*iter].type()==Json::stringvalue)
  22. cout<<v[*iter].asString()<<endl;
  23. if(v[*iter].type()==Json::realvalue)
  24. cout<<v[*iter].asDouble()<<endl;
  25. if(v[*iter].type()==Json::uintvalue)
  26. cout<<v[*iter].asUInt()<<endl;
  27. else
  28. cout<<v[*iter].asInt()<<endl;
  29. return;
  30. }

//搜索json中指定的key的value,这是原创,哈哈

    //搜索json得到指定key的值,只支持stringvalue
  1. //如果strcontent不为空,使用strcontent解析,如果为空直接使用v
  2. StringGetJsonstringvalue(StringstrContent,String&strKey,Json::Valuev)
  3. if(!strContent.empty())
  4. Json::readerreader;
  5. if(!reader.parse(strContent,v))
  6. returnString("");
  7. Json::Value::Membersmem=v.getMemberNames();
  8. Json::Value::Members::iteratorit;
  9. //遍历所有key广度搜索
  10. for(it=mem.begin();it!=mem.end();it++)
  11. if(*it==strKey)
  12. if(v[*it].type()==Json::stringvalue)
  13. returnv[*it].asString();
  14. returnString("");
  15. //如果未找到,再深度搜索
  16. for(it=mem.begin();it!=mem.end();it++)
  17. Json::ValueTypetype=v[*it].type();
  18. if(type==Json::objectvalue)
  19. Stringstrvalue=GetJsonstringvalue(String(""),strKey,v[*it]);
  20. if(!strvalue.empty())
  21. returnstrvalue;
  22. if(type==Json::arrayvalue)
  23. for(inti=0;i<v[*it].size();i++)
  24. //如果在递归的过程中已找到,则返回
  25. Stringstrvalue=GetJsonstringvalue(String(""),v[*it][i]);
  26. if(!strvalue.empty())
  27. returnstrvalue;
  28. }

大佬总结

以上是大佬教程为你收集整理的JsonCpp遍历json全部内容,希望文章能够帮你解决JsonCpp遍历json所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。