jsoncpp 不能处理long类型数据

jsoncpp 不能处理long类型数据

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

jsoncpp,是一个c++的解析和生成json的开源工具。假设你的c++程序须要解析或生成json,它会使这个过程变得非常easy!

可是,今天在用jsoncpp进行生成json的时候报了错误,非常显然这不是我程序的问题。

Test.cpp: In function ‘std::string createJsonData()’:
Test.cpp:41: error: conversion from ‘long long int’ to ‘const Json::Value’ is ambiguous
include/json/value.h:205: note: candidates are: Json::Value::Value(bool)
include/json/value.h:188: note:                 Json::Value::Value(const char*) <near match>
include/json/value.h:187: note:                 Json::Value::Value(double)
include/json/value.h:186: note:                 Json::Value::Value(Json::UInt)
include/json/value.h:185: note:                 Json::Value::Value(Json::Int)
include/json/value.h:184: note:                 Json::Value::Value(Json::ValueType) <near match>


当我的要生成json的数据中包括long类型时,出现了这个错误!假设将long改为int或double则能够通过编译。

依据错误信息,非常显然,jsoncpp并没有实现插入数据中有long类新的接口。所以jsoncpp无法处理包括long类新的数据。

在网上搜了一下,有人解释为何jsoncpp不支持long数据的接口,“为什么JsonCpp里面为什么没有64位整数?Json起源于javascript,在js中数字的表示可能与高级语言中不一样, 假设一位数字32位表示不了那么js中应该一律都是用double表示, 所以说js中 大整数事实上也是double, 这也就能解释为什么在jsoncpp中为什么没提供64为整数转化的方法。


我尝试将long类型改为double类型,能够通过,只是生成的json串中,long-》double的数据会在数字后面多一个小数点。这并非我想要的!

jsoncpp是个不错的工具,但不能处理long类型是它美中不足的地方。

希望兴许的升级可以解决问题!~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118304.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Optimistic vs Multi Version Concurrency Control – Differences?

    Optimistic vs Multi Version Concurrency Control – Differences?

    2021年8月26日
    57
  • ssm框架过时了吗_spring源码

    ssm框架过时了吗_spring源码SpringSpring是一个开源的免费的框架Spring是一个轻量级的,非入侵式的框架控制反转(IOC),面向切面编程(AOP)支持事务的处理,对框架整合的支持IOC理论UserDaoUserDaoImpUserSeviceUserServiceImp在之前,用户的需求可能会影响原来的代码。使用一个set。public void setUserDao(UserDao userDao){ this.userDao = userDao;}之前是主动创建对象,控制

    2022年8月8日
    7
  • 网络python培训班「建议收藏」

    网络python培训班「建议收藏」为进一步推动高等院校人工智能教学工作的开展,加强国内各高等院校同行间的交流,培养国内的师资力量,将人工智能最新实训内容带入课堂,特举办“人工智能系列课程理论与实践”高级培训班。该培训定于2021年7月20日开始,共包含七大专题,每个专题5天左右,共计30天,通过线上直播的方式进行集训。七大专题分别为Python机器学习,图像识别与深度学习,深度学习与NLP,知识图谱、图神经网络和强化学习,深度学习PyTorch理论与实战。本次培训由权威专家主讲,提供实验环境及实验数据,并提供配套资料,通过剖析工程案例展

    2022年7月19日
    19
  • adb 安装 与 卸载 命令「建议收藏」

    adb 安装 与 卸载 命令「建议收藏」列出所有连接的设备adbdevicesListofdevicesattached0721596563565device4668652232BMdevice1.选择设备安装与卸载adb-s设备号install/apk文件路径/adb-s设备号uninstall包名…

    2022年5月17日
    47
  • vue组件通讯之$attrs

    vue组件通讯之$attrs使用场景我们会遇到这样的场景,比如对element-ui的el-table组件进行二次开发,但是el-table组件有很多属性比如控制高度的height,传入数据的data还有border、size、fit等一个个的去传显然不大现实,这个使用用$attrs处理起来就会特别优雅。举例子组件:自定义组件对el-table进行封装,用$attrs接收父组件传过来的属性<template&g…

    2022年10月18日
    1
  • 绘图软件Origin新手使用教程「建议收藏」

    绘图软件Origin新手使用教程「建议收藏」*写在前面:本文为便于博主自己学习进行的摘录整理,由于经过实际软件操作验证,故投稿原创,主要来源为知乎*绘图软件Origin使用教程一、新手绘制新图(1)创建新图1.新建图2.文字输入3.绘制箭头4.新建图表选择(2)绘图实例讲解1.创建工程2.将数据导入book3.创建空的graph,设置画布尺寸4.添加坐标系,设置坐标系的位置与尺寸5.添加图线6.设置坐标轴格式7.设置图的标题8.设置图线的格式9.设置并添加图例10.导出图片二、导入数据(1)支持导入的数据格式1.主要介绍2.导入数据3.数据格式转

    2022年5月31日
    562

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号