通信建设工程项目经理查询网站,网站建设的编程语言,内容营销成功案例,网站建设hph下载首先去GitHub下载JSONCPP的源码#xff1a;
JSonCpp的源码 解压后得到#xff1a;jsoncpp-master 文件夹
需要的是#xff1a;jsoncpp-master\src\lib_json 目录下的所有文件和 jsoncpp-master\include\json 目录下的所有文件#xff0c;在MFC工程目录下新建两个文件夹或… 首先去GitHub下载JSONCPP的源码
JSonCpp的源码 解压后得到jsoncpp-master 文件夹
需要的是jsoncpp-master\src\lib_json 目录下的所有文件和 jsoncpp-master\include\json 目录下的所有文件在MFC工程目录下新建两个文件夹或者把jsoncpp-master文件夹下的这两个文件夹复制进自己的工程源码目录下。
例如这样 在VS解决方案视图下新建一个筛选器其实就是新建一个文件夹或者说一个分类 把 jsoncpp-master\src\lib_json 目录下的文件添加进这个筛选器里 为了避免报错需要设置一下这里头的.cpp文件不用预编译头。例如在json_value.cpp上面右键→属性→配置属性→C/C→预编译头→不使用预编译头 把这3个.cpp文件全设置一遍然后再设置项目的包含目录把你工程源码目录下复制过去的jsoncpp-master\include\json 文件夹包含进去。
在鄙人这里是这个目录 然后在需要使用的.cpp目录下引入Json的.h文件
#include include/json/json.h
在鄙人这是这个路径如果创建的文件夹是其他名字需要酌情修改。
下面是如何使用的例子
JSON原本长这样
{id:1,Name:春哥,Address:[{City:青青草原,作战地点:狼堡},{City:狗熊岭,作战地点:熊洞}]}; Json::Reader reader;Json::Value jsonObj;std::string strValue { \id\:1,\Name\ : \春哥\,\Address\ : [{\City\:\青青草原\,\作战地点\ : \狼堡\},{\City\:\狗熊岭\,\作战地点\ : \熊洞\}] };if (reader.parse(strValue, jsonObj)){int id jsonObj[id].asUInt();//简化的写法 读取json中的id属性Json::Value inatin jsonObj[id]; //读取json中的id属性id inatin.asUInt();//标准写法estion.Format(LID:%d\n, id);WriteConsole(hdlWrite, estion, CString(estion).GetLength(), NULL, NULL); //向DOS窗口里输出字符串Json::Value timen jsonObj[Address];//读取json中的数组int nderop timen.size();//获取数组长度for (int i 0; i nderop; i){generd timen[i][City].asCString(); //读取数组中的元素generd L所在地generd L\n;WriteConsole(hdlWrite, generd, CString(generd).GetLength(), NULL, NULL); //向DOS窗口里输出字符串generd timen[i][作战地点].asCString(); //读取数组中的元素generd L作战地点 generd L\n;WriteConsole(hdlWrite, generd, CString(generd).GetLength(), NULL, NULL); //向DOS窗口里输出字符串}}
读取的结果