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).
};

 

posted @ 2024-08-14 15:38  ho966  阅读(29)  评论(0编辑  收藏  举报