jsoncpp中区分int和uint类型
Differentiate between int and uint type in jsoncpp
我想在使用 jsoncpp
读取一些 json
数据后对其进行解析,这区分了 int
和 uint
数据类型。
我很清楚这些类型的含义,但是当我读取像 value: 7
这样的数据时,jsoncpp
将其识别为 int
。当然,value
在不同的情况下也可能是负数,但是如果 jsoncpp
只知道当前的情况,为什么它不将 value
解析为 uint
?
列出了 jsoncpp
种有效类型 here。我这样检查类型:
switch(root->type()) {
case Json::intValue: serializeInt(root->asInt(), key); break;
case Json::uintValue: serializeUInt(root->asUInt(), key); break;
只执行了int
个案例。
所以我的问题基本上是,我如何在 json
中表达一个值为 unsigned
以便 jsoncpp
像这样解析它?
jsoncpp 在值不适合 int
时使用 unsigned int
。
您可以尝试使用像 INT_MAX + 1
这样的值。
我想在使用 jsoncpp
读取一些 json
数据后对其进行解析,这区分了 int
和 uint
数据类型。
我很清楚这些类型的含义,但是当我读取像 value: 7
这样的数据时,jsoncpp
将其识别为 int
。当然,value
在不同的情况下也可能是负数,但是如果 jsoncpp
只知道当前的情况,为什么它不将 value
解析为 uint
?
列出了 jsoncpp
种有效类型 here。我这样检查类型:
switch(root->type()) {
case Json::intValue: serializeInt(root->asInt(), key); break;
case Json::uintValue: serializeUInt(root->asUInt(), key); break;
只执行了int
个案例。
所以我的问题基本上是,我如何在 json
中表达一个值为 unsigned
以便 jsoncpp
像这样解析它?
jsoncpp 在值不适合 int
时使用 unsigned int
。
您可以尝试使用像 INT_MAX + 1
这样的值。