JsonCpp使用

资源下载:
    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;


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值