C++安装JSONCPP


  1. VS2013里新建一个空的控制台程序(用作测试jsoncpp是否可用),名为: TestJSON
  2. 解压下载好的文件:jsoncpp-src-0.5.0.tar.gz
  3. 利用VS2008打开jsoncpp-src-0.5.0\makefiles\vs71目录下的jsoncpp.sln,会出现三个Project:jsontest, lib_json, test_lib_json
  4. 在lib_json上 右击-->Properties-->Configuration Properties-->C/C++-->Code Generation,注意右侧的Runtime Library的内容,选择/MTd点确定,关掉属性页。
  5. 编译lib_json,显示编译成功后,在jsoncpp-src-0.5.0\build\vs71\debug\lib_json目录下会生成一个json_vc71_libmtd.lib,将这个lib拷贝至TestJSON工程目录下。
  6. 将jsoncpp-src-0.5.0\include\json目录下的所有.h文件拷贝至TestJSON工程目录下,并在工程Header Files引入.
  7. 将方法一里的main.cpp添加到工程中,并在工程名上 右击-->Properties-->Configuration Properties-->C/C++-->Code Generation, 将Runtime Library改成选择/MTd点确定。
  8. 在工程名上 右击-->Properties-->Configuration Properties-->Linker-->Input, 在Additional Dependencies里填写json_vc71_libmtd.lib,然后确定,编译就行了
    #include <iostream>
    #include <fstream>
    
    #include "json.h"
    
    using namespace std;
    
    int main()
    {
        //根节点
        Json::Value root;
    
        //根节点属性
        root["name"] = Json::Value("Tsybius");
        root["age"] = Json::Value(23);
        root["sex_is_male"] = Json::Value(true);
    
        //子节点
        Json::Value partner;
    
        //子节点属性
        partner["partner_name"] = Json::Value("Galatea");
        partner["partner_age"] = Json::Value(21);
        partner["partner_sex_is_male"] = Json::Value(false);
    
        //子节点挂到根节点上
        root["partner"] = Json::Value(partner);
    
        //数组形式
        root["achievement"].append("ach1");
        root["achievement"].append("ach2");
        root["achievement"].append("ach3");
    
        //直接输出
        cout << "FastWriter:" << endl;
        Json::FastWriter fw;
        cout << fw.write(root) << endl << endl;
    
        //缩进输出
        cout << "StyledWriter:" << endl;
        Json::StyledWriter sw;
        cout << sw.write(root) << endl << endl;
    
        //输出到文件
        ofstream os;
        os.open("I:/PersonalInfo.js");
        os << sw.write(root);
        os.close();
    
        return 0;
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM