我们正在将 Json 库从 JsonCpp 切换到 libJson。JsonCpp 有很好的函数来确定 json 值的对象类型。是否有任何等效的方式在 libjson 中获取此信息?
例如,使用 JsonCpp 我们有以下内容:
Json::Value property = properties[propertyName.get_utf8()];
if (property.isInt())
{
// Do Something
}
else if (property.isUInt())
{
// Do Something
}
else if (property.isDouble())
{
// Do Something
}
else if ( property.isString() )
{
// Do Something
}
有什么方法可以确定 JSONNode 是否具有字符串、int 或 double。我知道您可以获得 JSONNode 类型,但您能否获得该节点中值的对象类型。例如,如果我有以下内容:
JSONNode root(JSON_NODE);
node.push_back(JSONNode("", "node"));
node.push_back(JSONNode("", 10));
node.push_back(JSONNode("", 21.5f));
node.push_back(JSONNode("", true));
是否可以确定 root 中的第一个节点包含一个字符串,第二个是 int,第三个是 float 等?