错误 Poco::Dynamic::Var 很长很长

Bug Poco::Dynamic::Var for long long

我使用的是 poco 1.6.0/1.6.1、gcc 4.8,JSON 序列化有问题。

Poco::JSON::Object obj;
const long long my_value = 0xFFFFFFFFFF;
obj.set("uid", my_value);
const auto rslt = obj.stringfy(); //in this I have crash

翻遍了源码,发现Dynamic::Var::isNumeric、Dynamic::Var::isInteger、returns都是假值。这种行为是正确的,还是我弄错了?

没有 VarHolder<long long> 专业化,因此它失败返回到存在专业化的 default, which is false. You can write your own specialization or use corresponding POCO typedef-ed types