jsoncpp的简单应用
发布时间:2020-12-16 19:07:51 所属栏目:百科 来源:网络整理
导读:下载jsoncpp解析引擎jsoncpp-src-0.5.0,在C++builder6中添加library库工程,将src和include目录中的文件添加到工程中。编译产生静态库。现在来测试一下: 这是一个简单的json文件,文件名为1.txt或其他任意名称都可以。 { "设备1":{"串口号" : "COM1","波特
下载jsoncpp解析引擎jsoncpp-src-0.5.0,在C++builder6中添加library库工程,将src和include目录中的文件添加到工程中。编译产生静态库。现在来测试一下:
这是一个简单的json文件,文件名为1.txt或其他任意名称都可以。 { "设备1":{"串口号" : "COM1","波特率" :9600}, "设备2":{"串口号" : "COM2","波特率" : 4800}, "数据":[{"database":"SQLServer2005"},{"database":"mysql"},{"database":"sqllite"}] } #include <vcl.h> #include <fstream> #include <cassert> #pragma hdrstop #include "json.h" #include "Unit1.h" void __fastcall TForm1::Button5Click(TObject *Sender) { std::ifstream ifs; ifs.open("12.txt"); assert(ifs.is_open()); Json::Reader reader; Json::Value root; if (!reader.parse(ifs,root,false)) { return ; } std::string name = root["设备1"]["串口号"].asString(); int age = root["设备1"]["波特率"].asInt(); Memo1->Lines->Add(name.c_str()); Memo1->Lines->Add(age); name = root["设备2"]["串口号"].asString(); age = root["设备2"]["波特率"].asInt(); Memo1->Lines->Add(name.c_str()); Memo1->Lines->Add(age); //读数组 Json::Value arrayobj = root["数据"]; int size = root["数据"].size(); for (int i = 0; i < size; ++i) { std::string name = arrayobj[i]["database"].asString(); Memo1->Lines->Add(AnsiString("数据库:")+name.c_str()); } } //---------------------------------------------------------------------------josn中如果有中文,文件格式应保存为Ansi,可用记事本保存。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |