【问题标题】:Determine JSONNode object type in libjson确定 libjson 中的 JSONNode 对象类型
【发布时间】:2012-11-07 23:40:51
【问题描述】:

我们正在将 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 等等?

【问题讨论】:

    标签: c++ types libjson


    【解决方案1】:

    检查类型似乎是这样做的唯一方法,好吧它不是很准确,因为你只能检查它是否是数字,但不能检查它是否是双精度的整数。

    【讨论】:

      猜你喜欢
      • 2016-09-06
      • 2011-01-14
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多