jsoncpp使用

第一个github网站下载jsoncpp最新的版本库:https://github.com/open-source-parsers/jsoncpp

点击右下角的Download ZIP进行下载

解压后例如以下所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHAzMTAwMTg5MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

用vs打开makefiles\vs71\jsoncpp.sln

首先将lib_json设为启动项目,编译连接可能会出现例如以下的错误:

不用管它。再分别设置jsontest和test_lib_json为启动项,编译连接,我的jsontest没有出错。但test_lib_json出错了。也不用管它。

你仅仅要看到解压文件夹中又多了一个文件夹build,找到build\vs71\debug\lib_json\json_vc71_libmtd.lib静态链接库。这个才是我们真正须要的。

好了,以下就開始測试一下生成的静态库是否能正常使用了。

新建一个win32 控制台应用程序 的空白项目

新建一个main.cpp源文件:

拷入例如以下代码:

#include <iostream>
#include "json//json.h"
#include <iostream>
#pragma comment(lib, "json_vc71_libmtd.lib")  

int main()
{
    Json::Value val;
    Json::StyledWriter style_write;  

    val["name"] = Json::Value("xiaoli");  

    std::cout << style_write.write(val) << std::endl;
	getchar();

    return 0;
}  

然后将上面生成的json_vc71_libmtd.lib静态链接库和解压文件夹下的josn文件夹(库全部的头文件)复制到当前project文件夹下:

以下另一个须要注意的地方是将測试项目的代码生成属性改成与lib_json同样的属性:以下是lib_json项目的代码生成属性:

右键lib_json项目:"属性"->"配置属性"->"c/c++项目"->"代码生成"

以下是我们測试项目的代码生成属性:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHAzMTAwMTg5MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

将上面的红色标记的不同样的部分改成同样的即可了。编译执行下出以下的结果就说明我们能够正常使用jsoncpp库了。

作者:http://blog.csdn.net/lp310018931

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-29 05:18:31

jsoncpp使用的相关文章

jsoncpp使用经验

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

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

jsoncpp用法通俗易懂

刚工作不久,最近遇到一个要解析一个web服务器发过来的json格式的文件,文件如下: { "global": { "renew": "true", "serverurl": "192.168.1.100:31208/opinfo/", "frequency": "60" }, "auth": { "enable": "

CentOS安装Lua boost JsonCpp

一.安装lua 1.先安装readline,使用命令  yum install readline-devel 2.下载lua-5.3.1.tar.gz,地址http://www.lua.org/download.html  解压tar -zxvf lua-5.3.1.tar.gz 切换到解压后目录 cd lua-5.3.1 编译make linux 安装make install 安装结束后,在命令行输入lua,进入lua编程环境即可. 二.安装boost yum install boost yu

jsoncpp linux平台编译和 arm移植

jsoncpp soncpp is an implementation of a JSON (http://json.org ) reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and gener

jsoncpp封装和解析字符串、数字、布尔值和数组

使用jsoncpp进行字符串.数字.布尔值和数组的封装与解析. 1)下载jsoncpp的代码库 百度网盘地址 :http://pan.baidu.com/s/1ntqQhIT 2)解压缩文件 jsoncpp.rar unzip jsoncpp.rar 3)修改jsoncpp/src/main.cpp文件 vim src/main.cpp 1 #include <string> 2 #include <json/json.h> 3 #include "stdio.h&quo

mac下cocos2dx(带jsoncpp第三方库)编译为android项目心得

在mac下好不容写完了游戏,本以为轻轻松松就能编译为android项目,想不到弄了将近1整天才将问题解决 首先不带jsoncpp的编译方式请参考:http://www.bold-it.com/ios/cocos2d-x-box2d-iosandroid-hybrid-tutorial/ 带jsoncpp第三方库的参考了http://blog.csdn.net/sniffer12345/article/details/7336732,对作者表示感谢. 我使用的是正常的jsoncpp版本,在json

&lt;转&gt;c++ builder JSONCPP 注意事项 XE2 解决编译问题 _Mfl

在C++Builder中使用JSONCPP需要注意的问题 1.使用STL的MAP而不是内建的MAP这个问题实际上和编译器无关.内建的MAP不是很稳定,当解析数据大于600K左右时,会崩溃.虽然一般来说JSON的数据大不到哪里去,但不代表数据量小时稳定性就不没有问题,只可能是发生的概率小一些.所以还是使用内建的MAP好一些,测试几兆的数据都没有问题.使用STL MAP的方法是编译时不要定义JSON_VALUE_USE_INTERNAL_MAP变量.2.要在2007中编译通过,需要修改一点代码.之所