linux下使用C++ Json库
安装Json库
1、下载JsonCpp
http://sourceforge.net/projects/jsoncpp/files/
2、下载scons
http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download
3、解压scons-2.1.0.tar.gz
tar -zvxf scons-2.1.0.tar.gz
我的解压到了/opt/JSON/scons-2.1.0目录下了
4、进入到解压目录scons-2.1.0下面,执行命令:
sudo python setup.py install
5、解压jsconcpp
tar -zvxf jsoncpp-src-0.5.0.tar.gz
我的解压到了/opt/JSON/jsoncpp-src-0.5.0下
6、进入到jsoncpp解压目录下,执行命令:
sudo scons platform=linux-gcc
7、将/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/include/
8、将jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a
9、测试代码
//json.cpp
#include<iostream>
#include<json/json.h>
using namespace std;
int main()
{
string test="{\"id\":1,\"name\":\"kurama\"}";
Json::Reader reader;
Json::Value value;
if(reader.parse(test,value))
{
if(!value["id"].isNull())
{
cout<<value["id"].asInt()<<endl;
cout<<value["name"].asString()<<endl;
}
}
return 0;
}
编译:需指定链接库(刚才重命名后的那个文件):
g++ json.cpp -ljson
输出:
“以上是综合网上多篇文章整理的,在此记录,防止遗忘”
基本使用示例
int mark = 1;
stringpwd("123456");
//json的字符串格式
string test="{\"id\":1,\"name\":\"kurama\"}";
//reader用于将字符串格式转化为json
Json::Reader reader;
//定义json变量
Json::Value value;
if(reader.parse(test,value))//字符串转json
{
if(!value["id"].isNull())
{
cout<<value["id"].asInt()<<endl;
//asString()用于转化为string,直接输出是带双引号的
cout<<value["name"].asString()<<endl;
}
}
Json::Value json;
//初始化json
json["mark"] = Json::Value(mark);
json["pass"] = Json::Value(pwd);
cout<<json["mark"].asInt()<<json["pass"].asString()<<endl;
string s;
//json转字符串
s = json.toStyledString();
cout<<s<<endl;
Json::Value js;
reader.parse(s,js);
cout<<js["pass"].asString()<<endl;
//转化为不带格式的字符串
Json::FastWriter writer;
std::string out = writer.write(js);
CentOS 6.3下PHP编译安装JSON模块报错解决:http://www.linuxdiyf.com/linux/10140.html
几款好的C/C++编译器(编译器而非IDE):http://www.linuxdiyf.com/linux/14086.html
Linux下搭建C/C++开发环境(GTK):http://www.linuxdiyf.com/linux/11185.html
Linux中安装Eclipse进行C/C++开发:http://www.linuxdiyf.com/linux/10129.html
linux下使用C++ Json库相关推荐
- Linux下的静态链接库和动态链接库编程
Linux下的静态链接库和动态链接库编程 参考: Linux下的静态链接库和动态链接库编程 - Histring - 博客园 Mac下静态库和动态库的创建和使用_C/C++_vincent2610的专 ...
- linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-
Linux下的C的库文件和头文件有什么区别- (2012-04-10 01:16:57) 标签: linux 杂谈 Linux下的C的库文件和头文件有什么区别?刚刚接触 这里有点没搞清楚 如果按我的理 ...
- linux动态库路径生效,Linux下如何解决动态库的链接问题
原标题:Linux下如何解决动态库的链接问题 静态库是一种以空间换取时间和移植性的做法,一些情况下确实有着一定的意义,但是一些情况下,我们自己编写的简单项目,在绝大多数的机器上不存在移植性问题,是没有 ...
- linux如何编译boost指定库,linux下编译安装boost库
linux下编译安装boost库 先看一下系统环境 Linux o-pc 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:15 UTC 2015 x ...
- Linux下安装自定义字体库
Linux下安装自定义字体库 第一步.在Windos环境下找到字体库 如:C:\Windows\Fonts 第二步.找到Linux下字体库 如:/usr/share/fonts/chinese 第三步 ...
- Linux下ibus输入法词库扩展
文章目录 一.骡子 二.直接上教程 三.目前支持的词汇(如果你找到了比较全的词库,希望能够得到你的分享) 四.补充:自己添加词库 Linux下ibus输入法词库扩展 一.骡子 面向百度编程已经给出了很 ...
- Linux下的静态链接库和动态链接库
Linux下的静态链接库和动态链接库 零.链接库概述 Linux下得库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀.面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数, ...
- linux的oracle怎么建库,linux下oracle手工建库过程
1.创建目录 $ORACLE_BASE/admin/ $ORACLE_BASE/oradata $ORACLE_BASE/flash_recovery_area 2.建初始化参数文件 cd $OR ...
- linux下Qt调用C++库文件(.so)程序实现
文章目录 主要内容 一.编程环境及实现方法 二.项目实现 1.创建项目 2.导入库文件 三.项目中遇到的问题 总结 主要内容 如标题所示,在linux下使用qtcreator创建项目调用C++库文件, ...
最新文章
- 三星嵌入式开发平台 三星Cortex-A9 4412 POP与SCP对比
- VSCode 启动 Vue 项目 npm install 报错
- Content management workbench DMWB
- 机器学习——支持向量机SVM实例(兵王问题,SVM求解步骤以及思路,不求解不编程)
- 在ASP.NET Core中使用百度在线编辑器UEditor
- windows10环境tensorflow下载安装
- jenkins pipeline之如何串联多个Job
- 用vue手脚架生成的项目直接修改时.vue文件后,保存编译就报一大堆的错,这是咋回事呢?
- 【渝粤教育】国家开放大学2018年秋季 1131t卫生经济学 参考试题
- 电力系统技术导则_《电力系统安全稳定导则(征求意见稿)》发布
- apt-get update “the following signatures couldn’t be verified because the public key is not avail
- opencv曝光算法_【OPENCV】高反差保留算法
- 细致的网站开发流程有哪些呢?
- cf英文名字格式好看的_cf好看的英文名字格式:、I (~) you ?
- web前端零基础html5
- tushare更新,get_k_data支持分时k线数据,可替代以前的get_hist_data
- Mqtt ----心跳机制 长链接 ping
- Redis的清洁——定期删除+惰性删除+内存淘汰策略
- Java官方文档索引
- 安装MySQL之步骤~