c++ - jsoncpp中区分int和uint类型

标签 c++ json types jsoncpp

我想在使用 jsoncpp 读取数据后解析一些 json 数据,它区分了 intuint 数据类型。

我很清楚这些类型的含义,但是当我读取像 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/

相关文章:

types - 模块 : type problem in functor

c++ - 我在系统行 C++ 上出错

c++ - 保留一个潜在的文件句柄

ios - 使用 SwiftyJson 从锁匠那里提取值(value)

java - 我们可以忽略 json 解析中的一行吗?

haskell - 为什么 `fmap` 需要在 `succ` 上调用 `Maybe Integer` ?

c++ - 使用 sse 和 avx 内在函数将一组打包的单打添加到一个值中

c++ - 多文件类实现 Cpp

Php 到 JSON 传递到高排行榜

冲突类型错误消息