jsoncpp 是比较出名的 C++ JSON 解析库。在 JSON 官网也是首推的。
下载地址为:http://sourceforge.net/projects/jsoncpp 。
linux下面编译需要使用到scons,scons又是一个牛叉的工具,功能和GNU make一样,又比make简单多了。scons是python工具,需要先安装好python。ubuntu默认已经安装好了,在终端里测试一下,输入python,能进去就是已经安装好了,否则会有提示安装python的错误信息。
下载scons http://www.scons.org/
1、解压scons命令: tar -zxvf scons-2.0.1.tar.gz
2、设置环境变量: export MYSCONS=解压的路径 ,所谓环境变量,个人认为就是弄个临时变量来储存scons的安装路径,用的时候, 就用 $MYSCONS来访问
3、安装scons: 进入 scons解压目录(即为$MYSCONS),执行 python $MYSCONS/setup.py install,报目录啥到错误 就用
sudo python $MYSCONS/setup.py install 试试,一般会可以,不行的话,那就是真的不行了。
4、以上步骤就已经完成了scons的安装,下面就可以编译jsoncpp的源代码了。
5、 进入jsoncpp解压目录,执行命令: python $MYSCONS/script/scons.py platform=linux-gcc
报错的话就执行, sudo python $MYSCONS/script/scons platform=linux-gcc
或者 sudo python $MYSCONS/script/scons.py platform=linux-gcc 看实际情况,scons文件名有没有.py
将jsoncpp编译,在解压目录jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6下可以看到生成了两个文件:
libjson_linux-gcc-4.6.1_libmt.a
libjson_linux-gcc-4.6.1_libmt.so
为了方便把文件名改成 jsoncpp.so jsoncpp.a
把.a文件和.so文件复制到工程目录下,在.pro文件里添加LIBS+=./jsoncpp.so
搞定!!
来个demo QT版本的 linux下
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QMessageBox>
#include "json/json.h"
#include "json/json.h"
void MainWindow::on_pushButton_clicked()
{
Json::Value root;
Json::FastWriter fast_writer;
root["REGION_ID"] = "600901";
root["DATA_TOTAL_NUM"] = "456278";
QString aa=String2QString(fast_writer.write(root) );
QMessageBox::about(this,"cao",aa );
}