Mac OS X下使用C++ JSON库

1. 下载C++ JSON库

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

4. 进入到解压目录scons-2.1.0下面,执行命令:

sudo python setup.py install

扫描二维码关注公众号,回复: 2442482 查看本文章

5. 解压jsconcpp

tar -zvxf jsoncpp-src-0.5.0.tar.gz

6. 进入到jsoncpp解压目录下,执行命令:

sudo scons platform=linux-gcc

7. 可以将/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。或者在g++编译时手动添加。

8. 测试代码:

 1 #include <iostream>
 2 #include "json/json.h"
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     Json::Value write_value;
 8     write_value["id"] = 123;
 9     write_value["name"] = "James";
10     string str_json = write_value.toStyledString();
11     
12     Json::Reader reader;
13     Json::Value read_value;
14 
15     if (reader.parse(str_json, read_value))
16     {
17         if (!read_value["id"].isNull())
18         {
19             cout << read_value["id"].asInt() << endl;
20             cout << read_value["name"].asString() << endl;
21         }
22     }
23     return 0;
24 } 

 编译命令为g++ cpp_json.cpp -o cpp_json -L ./ -ljson

(注:在我的个人电脑上,链接库libjson.a在源文件的同一目录下)

猜你喜欢

转载自www.cnblogs.com/YuZiiiiiD/p/9385207.html