JsonCpp在vs中使用

Jsoncpp是c++生成和解析Json数据的跨平台开源库。下面简介如何在vs中使用。

1、官网下载。https://sourceforge.net/projects/jsoncpp/解压文件得到jsoncpp-src-0.5.0文件夹。

2、在jsoncpp-src-0.5.0->makefiles->vs71文件夹下找到jsoncpp.sln文件,打开,有三个工程,对其中lib_json这个工程进行编译生成(可以生成两种库,debug库和release库,二者不同,工程debug的时候需要debug库,release时需要release库)。生成成功后会在jsoncpp-src-0.5.0->build->vs71->debug->lib_json文件夹下得到json_vc71_libmtd.lib文件(debug版本)。注意:生成编译时属性页中C/C++项->代码生成->运行库的选项要与需要添加jsoncpp的工程一致。

3、在工程目录下添加jsonCpp文件夹,将jsoncpp-src-0.5.0->include文件夹拷贝到jsonCpp文件夹下,同时在jsonCpp文件夹下新建lib文件夹,将json_vc71_libmtd.lib文件拷贝到该文件夹下。

4、在工程属性页中添加include文件夹,以及引入lib文件,具体设置如下图:

图1 添加include文件

图2 添加附加库目录

图3 添加lib文件

5、在需要使用的地方添加#include "json.h"头文件即可。具体生成和解析Json数据,主要依靠Json::Value,Json::Reader,Json::Writer。

时间: 2024-12-09 12:08:00

JsonCpp在vs中使用的相关文章

JsonCpp 判断 value 中是否有某个KEY

JsonCpp如何判断是否有某个KEY,使用json["key"]和isXXX的函数即可. 如果json中没有key键,则会创建一个空成员或者返回一个空成员. bool isNull() const;bool isBool() const;bool isInt() const;bool isUInt() const;bool isIntegral() const;bool isDouble() const;bool isNumeric() const;bool isString() c

JsonCpp读取较大数字出错问题

JsonCpp是c++中解析Json常用的解析库.在项目开发中,服务端如果用的是java的话都会是以JSON格式进行传输,客户端使用c++的话都会用到JsonCpp.看看下面这个问题:  json字串:{"@type":"Login","messageType":"Login","sendTime":1403575350411,"receivedTime":0,"loginId

JsonCpp——json文件的解析

定义: 官网: http://json.org/ 在线解析器:http://json.cn/ http://www.bejson.com/ JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集. JSON 采用完

详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法

一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src-0.5.0 -> makefiles -> vs71 -> jsoncpp.sln 4 转换项目为VS2010格式 5 选择debug模式 6 在“解决方案资源管理器”中右击 lib_json 选择->仅用于项目 -> 仅生成lib_json 7 再次右击 lib_json 选择->仅用于项目 -> 仅链接lib_json 8 选择r

jsoncpp使用经验

jsoncpp判断某个字段是否存在的方法如下: 1)if (root["url"].type() != Json::nullValue) 2)if(value["sex"].isNull()) 注意事项 1)jsoncpp是一个c++使用的json库,通过重载中括号[]来实现json的语法,但是由于c++ 是一个强类型的语言,jsoncpp在实现过程中,使用了大量的断言,如果遇到类型不正确的 时候,就会强制断言,导致程序退出 例如,将如下的字符串传递给jsoncpp

json库的编译方法和vs2010中导入第三方库的方法

一.去相应官网下载json.cpp文件 Jsoncpp下载:https://sourceforge.net/projects/jsoncpp/    版本为v0.5.0 最新版本在:https://github.com/open-source-parsers/jsoncpp 二.编译链接成库文件 1)解压下载的json包,得到jsoncpp-src-0.5.0文件,打开jsoncpp-src-0.5.0\makefiles\vs71\jsoncpp.sln 2)转换项目为vs2010格式,并将模

jsoncpp 解码编码 中文为空 乱码问题

在此,仅对自己出现的问题做个总结,没想到能帮到大家. 本地C++桌面程序,用jsoncpp 对json和服务端进行通信,静态库编译不能用,故采用的源码拷贝进行调用 服务端 用php和客户端进行通信 服务端json 解码和编码的两个函数 json_encode json_decode 如果使用在使用json_encode的中的字符串中有中文的话,有可能会出现,编码后,字符串为空, 这个我遇到的一个原因是 php脚本文件的类型是ansi 而不是utf8 ,所以用txt文本编辑器,将脚本另存为 utf

Qt jsoncpp 对象拷贝、删除、函数调用 demo

/***************************************************************************************************** * Qt jsoncpp 对象拷贝.删除.函数调用 demo * 声明: * 本程序主要就是为了验证jsoncpp中Json::Value对象中的append.等号赋值是拷贝内容,还是赋值指针, * 就测试而言,从目前的情况来看应该是拷贝内容,在下面checkAndRemoveAppName(

JsonCpp Documentation

JsonCpp Documentation  0.6.0-rc2说明: 1. 本文内容来自:http://jsoncpp.sourceforge.net/old.html 2. 这是JsonCpp Documentation使用说明文档: 3. 内容基本包括了JSON的基本操作. 一.Introduction JSON (JavaScript Object Notation) is a lightweight data-interchange format. It can represent i