我想在使用 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
像这样解析它?
最佳答案
当值不适合 int
时,jsoncpp 使用 unsigned int
。
您可以尝试使用像 INT_MAX + 1
这样的值。
关于c++ - jsoncpp中区分int和uint类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55849795/