代码之家  ›  专栏  ›  技术社区  ›  Mark Harrison

json_spirit:将value.type()映射回类型?

  •  0
  • Mark Harrison  · 技术社区  · 16 年前

    可以这样显示值的类型:

    cout << val.type() << end;
    

    它会打印一个数字。

    如何将此数字映射回实际类型?

    当然,除了在头文件中偷看之外,它还显示了…

    enum Value_type {
        obj_type,array_type,str_type,bool_type,int_type,real_type,null_type
    };
    
    2 回复  |  直到 15 年前
        1
  •  0
  •   Mark Harrison    16 年前

    不,这似乎是典型的方式:

        switch(v.type()) {
            case obj_type:    pp_obj(v, lev+1);   break;
            case array_type:  pp_array(v, lev+1); break;
            case str_type:    pp<string>(v, lev+1);   break;
            case bool_type:   pp<bool>(v, lev+1);  break;
            case int_type:    pp<int>(v, lev+1);   break;
            case real_type:   pp<double>(v, lev+1);  break;
            case null_type:   pp_null(v, lev+1);  break;
        }
    
        2
  •  0
  •   NazCodezz    15 年前

    值VAL; 读取(is,val); 对象o=val.get_obj();

    然后创建一对,假设它是0类型。 对=O[1];

    其中1是迭代值。这让我花了很长时间才弄明白,所以我正在努力节省其他任何需要稍后查找的人的时间。使用sizeof(o)/sizeof(int)迭代,同时使用++i而不是i++。

    推荐文章