当前位置: 首页 > news >正文

临夏金属装饰网站建设网站积分规则设计

临夏金属装饰网站建设,网站积分规则设计,三丰云怎么做网站,公司注册地址异常如何处理nlohmann/json是一个用于解析JSON的开源C库,口碑一流,无需额外安装其他第三方库,还支持单个头文件模式,使用起来非常方便直观。 1. 编译 从官网https://github.com/nlohmann/json的Release页面下载单个json.hpp即可直接使用&…

nlohmann/json是一个用于解析JSON的开源C++库,口碑一流,无需额外安装其他第三方库,还支持单个头文件模式,使用起来非常方便直观。

1. 编译

从官网https://github.com/nlohmann/json的Release页面下载单个json.hpp即可直接使用,无需单独编译。

2. 使用示例

下面以示例的方式罗列nlohmann/json库的基本使用方法。

2.1 生成JSON

方式1

int main()
{using json = nlohmann::json;json j;j["pi"] = 3.141;j["happy"] = true;j["name"] = "Niels";j["nothing"] = nullptr;j["answer"]["everything"] = 42;j["list"] = { 1, 0, 2 };j["object"] = { {"currency", "USD"}, {"value", 42.99} };// 转成字符串std::string strJSON = j.dump(2); // 2个空格的缩进std::cout << strJSON;return 0;
}

输出如下:

{"answer": {"everything": 42},"happy": true,"list": [1,0,2],"name": "Niels","nothing": null,"object": {"currency": "USD","value": 42.99},"pi": 3.141
}

方式2

int main()
{using json = nlohmann::json;json j = {{"pi", 3.141},{"happy", true},{"name", "Niels"},{"nothing", nullptr},{"answer", {{"everything", 42}}},{"list", {1, 0, 2}},{"object", {{"currency", "USD"}, {"value", 42.99}}}};// 转成字符串std::string strJSON = j.dump(2);std::cout << strJSON;return 0;
}

输出内容与方式1一样。

方式3

int main()
{using json = nlohmann::json;json j;j["pi"] = 3.141;j["happy"] = true;j["name"] = "Niels";j["nothing"] = nullptr;json j_answer;j_answer["everything"] = 42;j["answer"] = j_answer;json j_list = json::array();j_list.push_back(1);j_list.push_back(0);j_list.push_back(2);j["list"] = j_list;json j_object;j_object["currency"] = "USD";j_object["value"] = 42.99;j["object"] = j_object;// 转成字符串std::string strJSON = j.dump(2);std::cout << strJSON;return 0;
}

输出内容与方式1一样。

2.2 解析JSON

int main()
{using json = nlohmann::json;std::string strJSON = u8R"({"answer": {"everything": 42},"happy": true,"list": [1,0,2],"name": "Niels","nothing": null,"object": {"currency": "USD","value": 42.99},"pi": 3.141})";auto jsonObj = json::parse(strJSON);std::cout << jsonObj["pi"].get<float>() << std::endl; // 3.141std::cout << jsonObj["pi"].get<double>() << std::endl; // 3.141std::cout << std::boolalpha << jsonObj["happy"].get<bool>() << std::endl; // truestd::cout << jsonObj["name"].get<std::string>() << std::endl; // Nielsassert(jsonObj["nothing"] == nullptr);std::cout << jsonObj["answer"]["everything"].get<int>() << std::endl; // 42std::cout << jsonObj["list"].size() << std::endl; // 3std::cout << jsonObj["list"][0].get<int>() << std::endl; // 1std::cout << jsonObj["list"][1].get<int>() << std::endl; // 0std::cout << jsonObj["list"][2].get<int>() << std::endl; // 2std::cout << jsonObj["object"]["currency"].get<std::string>() << std::endl; // USDstd::cout << jsonObj["object"]["value"].get<float>() << std::endl; // 42.99// 依次输出:// 1// 0// 2for (json::iterator it = jsonObj["list"].begin(); it != jsonObj["list"].end(); ++it) {std::cout << *it << std::endl;}return 0;
}

3. 异常处理

当解析和生成JSON出错时,nlohmann/json会抛出异常,因此在解析和生成JSON时,需要进行异常捕获。

int main()
{using json = nlohmann::json;std::string strJSON = u8R"({"pi": 3.141})";try {auto jsonObj = json::parse(strJSON);std::cout << jsonObj["ppp"].get<float>() << std::endl;}catch (std::exception& e) {std::cout << e.what() << std::endl;}return 0;
}

4. 判断成员是否存在

int main()
{using json = nlohmann::json;std::string strJSON = u8R"({"pi": 3.141})";auto jsonObj = json::parse(strJSON);std::cout << std::boolalpha << jsonObj.contains("pi") << std::endl; // truestd::cout << std::boolalpha << jsonObj.contains("ppp") << std::endl; // falsereturn 0;
}

欢迎访问我的个人站点:https://jiangxueqiao.com

http://www.yayakq.cn/news/778189/

相关文章:

  • 网站模板的功能wordpress 忘记密码
  • 关于网站运营设计logo网站免费下载
  • 国外源代码网站建设工程评标专家在哪个网站登录
  • 网站如何做视频链接地址苏州网络公司优惠政策
  • 号码之家官网搜索引擎优化结果
  • 浙江平台网站建设哪家有营业执照年检网上申报入口
  • 在线课程网站开发的研究意义大城县网站建设
  • 外贸网站建设的意义宣传册排版
  • 游戏系统网站开发说明书四川网站建设广元分公司
  • html5做图书馆网站成都金牛网站建设公司
  • 首页网站怎么做网页编辑软件手机版
  • 国外网站网站app字节跳动现有员工人数
  • eclipse网站建设广州做网站公司
  • 瑞昌网站建设嘉定网站建设电脑培训
  • 域名做违法网站dremrever怎么做网站
  • 网站的图片大小深圳创业补贴申请
  • 意外险平台服务网站网站icp备案咋做
  • 敲代码做网站多少钱上海 网站建设 500强
  • 如何利用div做网站如何建立一个小程序
  • 棕色网站模板河北怀来县建设局网站
  • 西安分类信息网站开发微信小程序的软件
  • 最好的完全免费开源企业网站如何选择一个优质网站建设公司
  • 亿景网站建设wordpress 菜单 页面跳转
  • 延庆免费网站建设初学者做网站
  • 怎么建设一个网站网站开发制作报价
  • app大全软件网站免费下载wordpress 主题评论
  • 南京做公司网站深圳极速网站建设服务器
  • 摄影网站建设流程广州网站建设索王道下拉
  • 爱做的小说网站大专计算机专业主要学什么
  • 企业网站建设方案百度文库世界工厂网app