我想用json读取jsoncppint数据类型之间的区别后解析一些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像这样解析它?

最佳答案

当值不适合unsigned int时,jsoncpp使用int

您可以尝试使用INT_MAX + 1之类的值。

关于c++ - 区分jsoncpp中的int和uint类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55849795/

10-08 22:43