Jsoncpp在linux中的安装、编译及其简单应用
1. 准备工作Jsoncpp下载:https://sourceforge.net/projects/jsoncpp/ 2. Jsoncpp介绍
3.解压并配置SCons将下载的 Scons压缩包,进行解压: $tar -xvf scons-src-2.5.1.tar.gz
配置环境变量: export SCONS_PATH=****** /scons-2.1.0
export SCONS_LIB_DIR=$SCONS_PATH/engine
4.解压配置Jsoncpp将下载的 jsoncpp压缩包,进行解压: $tar -xvf jsoncpp-src-0.5.0.tar.gz
配置环境变量: export JSONCPP_PATH=/*******/jsoncpp-src-0.5.0
5.编译Jsoncpp做好以上准备工作后,对jsoncpp进行编译: cd jsoncpp-src-0.5.0
python $SCONS_PATH/src/script/scons.py platform=linux-gcc
6.举例写了个小Demo,将系统内文件内容读取,并组织成Json串: #include <iostream>
#include <cstdio>
#include <stdio.h>
#include <string.h>
#include <memory>
#include <exception>
#include <fstream>
#include "json/json.h"
using namespace std;
int main(int argc,char **argv) {
Json::Value root;
Json::Value header;
Json::Value arrayObj;
Json::Value item;
//Json头信息
header["pro"] = "17";
header["service_type"] = "GPS11";
//open文件
char buffer[256];
ifstream in("test.txt");
int i = 0;
if (! in.is_open())
{
cout << "Error opening file";
exit (1);
}
while (!in.eof() )
{
in.getline (buffer,100);
item[buffer] = i;
i++;
arrayObj.append(item);
item.clear();
}
root["HEADER"] = header;
root["BODYLIST"] = arrayObj;
std::string out = root.toStyledString();
std::cout << out << std::endl;
in.close();
return 0;
}
效果: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |