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类型是它美中不足的地方。
希望兴许的升级可以解决问题!~
jsoncpp 不能处理long类型数据的更多相关文章
- EF里Guid类型数据的自增长、时间戳和复杂类型的用法
		
通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些 ...
 - StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)
		
本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...
 - 【Spring】SpringMVC中浅析Date类型数据的传递
		
在控制器中加入如下代码: @InitBinder public void initBinder(ServletRequestDataBinder bin){ SimpleDateFormat sdf ...
 - PB gird类型数据窗口 设置分组、分组小计、合计
		
今天遇到一个需求,gird表格数据如下: 部门 类型 数据 A 类型1 1 A 类型2 2 B 类型1 3 B 类型2 4 合计 10 实际需要显示的结果为: 部门 ...
 - 7.Struts2复杂类型数据的接受
		
复合类型数据的接收 所谓复合类型数据是指,一个JavaBean实例的属性值,而这些值又作为参数传递给Action. Action若要接收这些数据,需要做到以下几点: (1)定义Action时,将该Be ...
 - 6.Struts2简单类型数据的接受
		
简单类型数据的接收 在Action类中定义与请求参数同名的属性, 即,要定义该属性的set方法,便能够使struts2自动接收请求参数并赋予同名属性. 简单类型数据的接受举例: 新建工程项目,名称为: ...
 - HR开发 获取信息类型数据
		
1.PNP逻辑数据库. LOOP获取信息类型数据. TABLES: PERNR . , . START-OF-SELECTION. GET PERNR . LOOP AT P0000 WHERE .. ...
 - 解剖SQLSERVER 第四篇  OrcaMDF里对dates类型数据的解析(译)
		
解剖SQLSERVER 第四篇 OrcaMDF里对dates类型数据的解析(译) http://improve.dk/parsing-dates-in-orcamdf/ 在SQLSERVER里面有几 ...
 - 解剖SQLSERVER 第五篇  OrcaMDF里读取Bits类型数据(译)
		
解剖SQLSERVER 第五篇 OrcaMDF里读取Bits类型数据(译) http://improve.dk/reading-bits-in-orcamdf/ Bits类型的存储跟SQLSERVE ...
 
随机推荐
- Android的WiFi开启与关闭
			
注意:要首先注册开启和关闭WiFi的权限, <?xml version="1.0" encoding="utf-8"?> <manifest ...
 - Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
			
尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...
 - 分享一个 CSDN 自动评论角本
			
先修改帐户名和密码 import requests from BeautifulSoup import BeautifulSoup import time def commitfunc(source_ ...
 - python IDE ulipad配置使用
			
一直认为认为python自带的编辑器idle实在是太简陋了,连显示行号的功能都没有,也非常不好编辑.找了下windows平台下的Ide,发现ulipad很多人推荐使用,就开始安装了. 首先去官网: h ...
 - 微信平台接入Web页面功能接口(C#)
			
微信平台接入web页面功能接口 今年因工作需要,通过微信平台接入公司的Wap页面,回忆下,记录内容,方面以后使用. 1.成为开发者后,你才可以使用公众平台的开发功能.需要填写URL和ToKen,接口配 ...
 - C++ pair 使用方法
			
类模板:template <class T1, class T2> struct pair 參数:T1是第一个值的数据类型,T2是第二个值的数据类型. 功能:pair将一对值组合成一个值, ...
 - 浅析Linux的软中断的实现
			
參考: http://bbs.chinaunix.net/thread-2333484-1-1.html http://liu1227787871.blog.163.com/blog/static/2 ...
 - Git学习笔记总结和注意事项
			
一.Git简单介绍 Git是眼下世界上最先进的分布式版本号控制系统.其特点简单来说就是:高端大气上档次! 二.Windows上Git安装 最早Git是在Linux上开发的.非常长一段时间内.Git也仅 ...
 - webform--常用的控件
			
一.简单控件 1.Lable——标签:在网页中呈现出来的时候会变成span标签 属性:Text——标签上的文字 BackColor,ForeColor——背景色,前景色 Font——字体 Bold- ...
 - Qt 学习之路 2(75):线程总结
			
前面我们已经详细介绍过有关线程的一些值得注意的事项.现在我们开始对线程做一些总结. 有关线程,你可以做的是: 在QThread子类添加信号.这是绝对安全的,并且也是正确的(前面我们已经详细介绍过,发送 ...