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