Mac OS X下使用C++ JSON库

Posted yuziiiiid

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

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


以上是关于Mac OS X下使用C++ JSON库的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac OS X 上安装 C++ Armadillo 库

Mac OS X 上的 GCC 7 找不到 C++ 标准库

Mac OS X 下的 Symbian C++ 开发

C++ 在 Mac OS X 上编译代码并在 Linux x86 上运行

将 VARIANT 从 mac OS X Excel 2011 VBA 传递到 c++

为啥我可以在 Mac OS X 上使用 Cython 编译为 C 但不能编译为 C++