您的位置:首页 > Web前端 > JavaScript

jsoncpp 库的使用方法

2015-01-07 14:43 483 查看
1. 下载jsoncpp, 地址:http://sourceforge.net/projects/jsoncpp/

2. 编译jsoncpp:

jsoncpp文件中提供了vs71的工程文件以及makerelease.py文件,用来编译,里面分为jsontest、lib_json、test_lib_json三个工程,按照自己需要的编译。

注意:如果使用VS默认的编译选项MTd或者MT,在使用json_libmtd.lib的时候可能会出现LNK2038错误(我使用的VS2012vc110环境),所以请修改MTD为MDd,MT为MD。

3.lib库添加进VS工程中:


3.1 把json.h 等头文件拷到项目文件夹,并INCLUDE到项目中。

3.2 右键工程 》 属性 》配置属性 》链接器 》常规 》附加库目录 添加静态库的目录。

3.3 右键工程 》 属性 》配置属性 》链接器 》输入 》附加依赖项 添加json_vc71_libmt.lib 。

完成,可以在项目中使用JSONCPP库了。

错误解决:

问题:


..json_value.cpp : fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_value.asm”: No such file or directory

方法:修改生成静态库文件的工程的属性:路径为:菜单---项目--属性---配置属性---c/c++---输出文件---汇编程序输出:无列表

void readJson() {

    using namespace std;

    std::string strValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";

    Json::Reader reader;

    Json::Value value;

    if (reader.parse(strValue, value))

    {   

        std::string out = value["name"].asString();

        std::cout << out << std::endl;

        const Json::Value arrayObj = value["array"];

        for (unsigned int i = 0; i < arrayObj.size(); i++)

        {   

            if (!arrayObj[i].isMember("cpp")) 

                continue;

            out = arrayObj[i]["cpp"].asString();

            std::cout << out;

            if (i != (arrayObj.size() - 1)) 

                std::cout << std::endl;

        }   

    }   

}


参考文章:

http://www.cnblogs.com/ppboy_dxh/archive/2011/03/03/1970290.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: