我们正在将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等吗?
答案 0 :(得分:0)
检查类型似乎是这样做的唯一方法,好吧它不是很准确,因为你只能检查它是否是一个数字,而不是它是否为双精度的int。