0

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

ルートの最初のノードに文字列、2 番目に int、3 番目に float などが含まれていると判断できますか?

4

1 に答える 1

0

型を確認することがこれを行う唯一の方法のようです。それが数値であるかどうかしか確認できないため、あまり正確ではありませんが、double の int である場合は確認できません。

于 2012-11-07T15:40:51.703 に答える