Ubuntu g++ Json libiary

使用jsoncpp库实现json解析

1. 安装jsoncpp和scons

jsoncpp 下载地址

[ ] http://sourceforge.net/projects/jsoncpp/files/

scons 下载地址

[ ] http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

2. 解压scon并配置

下载完成后首先解压scon并配置,解压到任何你想要的文件夹,比如新建了一个Json文件夹(-C是指定目录的意思)

tar -zvxf scons-2.1.0.tar.gz -C ~/Json

然后进入该目录并安装scons

cd ~/Json/scons-2.1.0
sudo python setup.py install

3.解压jsoncpp后进入该目录配置

tar -zvxf jsoncpp-src-0.5.0.tar.gz -C ~/Json
cd ~/Json/jsoncpp-src-0.5.0
sudo scons platform=linux-gcc

4.拷贝文件

将/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/include/,然后将jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到/usr/local/lib/下,并为了方便使用,可以将其重命名为libjson.a 注意拷贝的时候可能会需要超级权限。

5.测试 test_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;
}

6.编译

g++ test_json.cpp -o test_json.out -ljson

makefile 中添加路径的例子

objects = main.o ota_file_class.o

cc = g++ 


main : clean $(objects)
	$(cc) -o main $(objects) -ljson

main.o : ota_file_class.h

ota_file_class.o : ota_file_class.h

.PHONY : clean

clean : 
	-rm main $(objects)

引用博文

[链接] https://blog.csdn.net/deyuzhi/article/details/51747221

posted on 2018-07-15 16:39  iDea2011  阅读(270)  评论(0)    收藏  举报

导航