sta*_*mer 3 c++ qt json qtcore qjsonobject
有一个QJsonObject
{
"a":"...",
"b":"...",
"c":"..."
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法来检查这个对象是否包含"a"?
Ell*_*ott 10
根据文档,您有几个选择:
QJsonObject::contains返回一个boolQJsonObject::find哪个将返回迭代器.如果找不到该项,则返回值将等于QJsonObject::end使用此项,如果您还需要迭代器.QJsonObject::value,如果存在,将返回密钥的值,QJsonValue::Undefined否则.您可能无论如何都要使用值方法来获取键的值,因此这将允许您执行一次查找而不是两次查找.使用它来提高性能可能很诱人,但请记住,它会更难以阅读,并且在大多数情况下,性能增益足够小,可能不值得所有这一切都直接来自Qt文档 - 我最喜欢Qt的是他们精彩的文档,所以我鼓励你在遇到类似问题时将其作为第一站.