gdb 查看 jsoncpp对象
jsoncpp是c++使用较多的json库, gdb调试时, 不方便查看json对象的信息,这里提供一种方法。
json::value利用map实现树状对象,
map的类型为std::maps<Json::Value::CZString, Json::Value>
union ValueHolder {
LargestInt int_;
LargestUInt uint_;
double real_;
bool bool_;
char* string_; // if allocated_, ptr to { unsigned, char[] }.
ObjectValues* map_;
} value_;
json::value对象结构体中, typedef std::map<Json::Value::CZString, Json::Value> ObjectValues, map_就存放下级节点的数据,打印map_就可以查看下级节点信息,打印map可以参考
https://www.cnblogs.com/ho966/p/18359095 使用其中pmap查看stl::map
ValueType type() const; 表示当前节点的类型,有
enum ValueType {
nullValue = 0, ///< 'null' value
intValue, ///< signed integer value
uintValue, ///< unsigned integer value
realValue, ///< double value
stringValue, ///< UTF-8 string value
booleanValue, ///< bool value
arrayValue, ///< array value (ordered list)
objectValue ///< object value (collection of name/value pairs).
};