Linux下Json的使用

关于 JSON 更具体的信息,可参见 JSON 官网:http://www.json.org。

jsoncpp 是比较出名的 C++ JSON 解析库。在 JSON 官网也是首推的。

下载地址为:http://sourceforge.net/projects/jsoncpp。

下面开始说明配置方法:

1、jsoncpp下载后需要编译成链接库(也可以不编译,把所有.cpp .h文件加入到自己的工程中。这种方法不易管理,不推荐),

编译jsoncpp需要使用scons。那么先下载scons。(http://www.scons.org/

2、scons部署(版本为scons-2.1.0.zip

进入scons解压目录(假定为$MYSCONS),执行python $MYSCONS/setup.py install , scons部署完毕。

3、使用scons编译jsoncpp(版本为jsoncpp-src-0.5.0.tar.gz)

进入jsoncpp解压目录,执行命令:python $MYSCONS/script/scons.py platform=linux-gcc

将jsoncpp编译,在解压目录jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6下可以看到生成了两个文件:

libjson_linux-gcc-3.4.6_libmt.a 

libjson_linux-gcc-3.4.6_libmt.so

修改环境变量LD_LIBRARY_PATH,将该库所在的目录加入。

4、将jsoncpp目录下的头文件件拷到自己的工程里就可以使用了。

   注意在编译里指定动态链接库的地址。-L/jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6/ -ljson_linux-gcc-3.4.6_libmt

例子代码:

#include

#include

#include "json/json.h"


int main(void)

{

     Json::Value root;

     Json::FastWriter fast_writer;

     root["REGION_ID"] = "600901";

     root["DATA_TOTAL_NUM"] = "456278";

     std::cout << fast_writer.write(root) << std::endl;

     return 0;

}

输出:{"DATA_TOTAL_NUM":"456278","REGION_ID":"600901"}

转自:http://blog.163.com/zhangjie_0303/blog/static/990827062011102665753212/
不过最后要在嵌入式开发板上运行,目前没找到可以在嵌入式linux下运行的Json库的方法,只有添加源文件编译。等待.......

在嵌入式linux下解析json数据的方法,看来自己还是对c熟悉点啊.....
下载cJson:http://sourceforge.net/projects/cjson/?source=typ_redirect
解压后找到cJSON.c和cJSON.h文件,加入到自己的工程中,编译时添加 -lm指令...
解压后的文件中有test.c文件,编译arm-linux-gcc test.c cJSON.c -o test -lm  即可得到test执行文件,可以下载到板子上运行

你可能感兴趣的:(Linux下Json的使用)