JsonCpp如何判斷是否有某個KEY,使用json[“key”]和isXXX的函數即可。
如果json中沒有key鍵,則會創建一個空成員或者返回一個空成員。
bool isNull() const; bool isBool() const; bool isInt() const; bool isUInt() const; bool isIntegral() const; bool isDouble() const; bool isNumeric() const; bool isString() const; bool isArray() const; bool isObject() const;
例子:
ifstream ifs; ifs.open("testR.json"); Json::Reader reader; Json::Value value; if (!reader.parse(ifs,value,false)) { return -1; } if (value["name"].isString()) { string name = value["name"].asString(); cout << "name:" << name << endl; } // 如果value中沒有 aaa 鍵就不會提取該數據,aaa會賦初值0,不會報錯。 int aaa = value["aaa"].asInt();