加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JsonCpp使用

发布时间:2020-12-16 19:16:51 所属栏目:百科 来源:网络整理
导读:资源下载: http://oss.metaparadigm.com/json-c/ tar -zxvf json-c-0.9.tar.gz ./configure --prefix=/usr/local/json-c-0.9(没有prefix选项,默认的是/usr/local/lib/) make make install windows编译冲突问题 json_object.h 32 行 //typedef int boolean;
资源下载:
http://oss.metaparadigm.com/json-c/


tar -zxvf json-c-0.9.tar.gz
./configure --prefix=/usr/local/json-c-0.9(没有prefix选项,默认的是/usr/local/lib/)
make && make install




windows编译冲突问题
json_object.h 32 行
//typedef int boolean; modify by shenyu
typedef unsigned char boolean;




error while loading shared libraries: libjson.so.0:
root
vi /etc/ld.so.conf 最后添加一行
/usr/local/lib/libjson.so.0






jsoncpp
资源下载:
http://sourceforge.net/projects/jsoncpp/files/latest/download?source=files

tar -zxvf jsoncpp-src-0.5.0.tar.gz


linux 下安装需要先装 scons




http://www.scons.org
http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download
解压后:
cd /home/qingtian/scons-2.1.0

python setup.py install
python setup.py install --standard-lib 安装到python标准目录

cd /home/qingtian/jsoncpp-src-0.5.0
python /home/qingtian/scons-2.1.0/script/scons platform=linux-gcc






python /usr/local/app/qingtian/scons-2.1.0/script/scons platform=linux-gcc

生成文件目录:
/home/qingtian/jsoncpp-src-0.5.0/include
/home/qingtian/jsoncpp-src-0.5.0/libs/linux-gcc-4.1.2

cp /home/qingtian/jsoncpp-src-0.5.0 /usr/local/jsoncpp -r
cp /home/leoxshen/jsoncpp-src-0.5.0 /usr/local/jsoncpp -r


cp /usr/local/app/leoxshen/jsoncpp-src-0.5.0 /usr/local/jsoncpp -r
编译代码时引用即可


#错误处理
mqq@38_183:~/qingtian/jsoncpp-src-0.5.0> python /usr/local/app/qingtian/scons-2.1.0/script/scons platform=linux-gcc
Traceback (most recent call last):
File "/usr/local/app/qingtian/scons-2.1.0/script/scons",line 187,in <module>
import SCons.Script
ImportError: No module named SCons.Script

如果安装不上,需要root权限,执行命令

python setup.py install --standard-lib 安装到python标准目录


------------------------------------------------------------------------------------ test 程序--------------------------------------------------------------------

#include <iostream> #include <string> #include "json/json.h" using namespace std; void json_writer() { Json::Value rootA; Json::Value root; Json::FastWriter fast_writer; root["REGION_ID"] = "600901"; root["DATA_TOTAL_NUM"] = 456278; rootA["KEY"] = "1"; rootA["NUM"] = "9"; rootA["entry"] = root; std::cout << fast_writer.write(root) << std::endl; std::cout << fast_writer.write(rootA) << std::endl; Json::Value jsonArry; jsonArry.append(root); jsonArry.append(root); jsonArry.append(rootA); std::cout << fast_writer.write(jsonArry) << std::endl; } void json_reader() { string strJson = "{"key1":"value1","array":[{"key2":"value2","key3":"aa"},{"key2":"value3","key3":"bb"},{"key2":"value4","key3":"cc"}]}"; Json::Reader reader; Json::Value val; if(!reader.parse(strJson,val)) return ; std::string str = val["key1"].asString(); cout<<"str = "<< str<<endl; std::string str2 = val["key11"].asString(); cout<<"str2 = "<< str2<<endl; int a = val["key13"].asInt(); cout<<"a = "<< a<<endl; Json::Value obj_array = val["array"]; for (int i = 0; i< obj_array.size(); i++) { std::cout << obj_array[i]["key2"].asString()<<"|"<< obj_array[i]["key3"].asString() << std::endl; } } 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; */ json_writer(); json_reader(); //char * p = ( char *) malloc(10); return 0; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读