Mac OS X下使用C++ JSON库

六月ゝ 毕业季﹏ 提交于 2020-05-08 00:21:21

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

 

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在源文件的同一目录下)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!