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

在线测评网站怎么做百度站长电脑版

在线测评网站怎么做,百度站长电脑版,网站查询信息,免费网店怎么开了解 nlohmann/json 的特点;理解编程中 “数据战场”划分的概念;迅速上手多种方式构建一个JSON对象; 1 特点与安装 nlohmann/json 是一个在 github 长期霸占 “JSON” 热搜版第1的CJSON处理库。它的最大优点是与 C 标准库的容器数据&#xf…

了解 nlohmann/json 的特点;理解编程中 “数据战场”划分的概念;迅速上手多种方式构建一个JSON对象;

在这里插入图片描述

1 特点与安装

nlohmann/json 是一个在 github 长期霸占 “JSON” 热搜版第1的C++JSON处理库。它的最大优点是与 C++ 标准库的容器数据(比如 std::map、std::vector)使用体验一致,并且搭配良好,比如,假设 strct T 能与JSON双向互换,则 std::vector 自然能与JSON双向互换。

在 msys2 ucrt64 环境下,安装命令为:

pacman -S mingw-w64-ucrt-x86_64-nlohmann-json

如果为了更好地兼容旧 Windows 系统,你选择的是 mingw64 环境,则该库名称为:mingw-w64-x86_64-nlohmann-json。

2 数据战场

一个 C++ 程序为什么需要使用到 JSON 数据?那是因为,程序即战场,数据即士兵,不同的战场需要不同的士兵。下图描述了“数据战场”的概念。

数据即战场

我们在 C++ 程序中自定义的数据,比如一个结构体,通常就是该程序中与业务最紧密结合,需要参与最多计算的数据,因此通常称为 “主战兵”;而JSON 数据常用作程序与外部环境的通信格式,因此被称为“通信兵”。nlohmann/json 是我们请来的 “雇佣兵”(三方库),它擅长以 C++ 结构模拟 JSON 语法,从而有效帮助我们的“主战兵”拥有变形金刚的能力……

在 “见证” 主战兵和通信兵如何快速互变之前,一定要先清楚二者之间存在一些重要差异:

  1. C++内置类型体系和JSON的类型体系并非一一对应
  2. JSON 不保证字段次序(如需要,可使用 nlohmann::ordered_json 类)

3 视频1:快速认识

009-nlohmann/json-1-快速认识

4 Hello JSON

#include <cassert>#include <iostream>
#include <string>
#include <vector>#include <nlohmann/json.hpp>using json = nlohmann::json;/*{"id": "ORD20250409-191", //订单号"customerID": 10345, //用户ID"items": [123,94320,8], //商品货号列表"totalAmount": 172.8, //总价"orderDate": "2025/04/09" //下单日期}    
*/int main()
{json o1 = {{"id", "ORD20250409-191"},{"customerID", 10345},{"items", {123, 94320, 8}},{"totalAmount", 172.8},{"orderDate", "2025/04/09"}};std::cout << o1.dump(2) << std::endl;json oArray = {123, 94320, 8};std::cout << oArray.dump() << std::endl;json oInt = 123;json oString = "Tom";json oBoolean = true;std::cout << "int -> \t" << oInt.dump() << "\n";std::cout << "string -> \t" << oString.dump() << "\n";std::cout << "boolean -> \t" << oBoolean.dump() << "\n";using namespace nlohmann::literals;// 字符串常量 -> json 变量json o2 = R"({"id": "ORD20250409-191", "customerID": 10345, "items": [123,94320,8], "totalAmount": 172.8, "orderDate": "2025/04/09"})"_json;assert(o1 == o2);std::cout << "\no2->\n" << o2.dump(2) << std::endl;// 支持注释std::string source = R"({"id": "ORD20250409-191",  // 订单ID"customerID": 10345,    // 用户ID"items": [123,94320,8],  // 包含商品的货号"totalAmount": 172.8, "orderDate": "2025/04/09"})";json o3 = json::parse(source, nullptr, true, true);assert(o3 == o2);std::cout << "\no3->\n" << o3.dump(2) << std::endl;
}

文章转载自:

http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://00000000.ympcj.cn
http://www.dtcms.com/wzjs/602445.html

相关文章:

  • 360做网站德清县建设银行官方网站
  • 网站开发与维护的内容wordpress 前端注册
  • 做服装外贸的网站设计短网址批量在线生成
  • 自建网站的好处郑州社交网站开发
  • 学校学不到网站建设做外贸什么网站比较好
  • 企业网站导航栏高度盐城做网站公司
  • 河池公司做网站短网址服务平台
  • 网站图片优化怎么做哈尔滨自助建站平台
  • 芜湖建设网站公司网络营销与推广教案
  • 网站开发合作意向协议书seo页面优化公司
  • 移动端网站怎么布局北京网站建设公司价格
  • 电脑网站怎样给网页做适配我想在网站上卖食品怎么做
  • 企业网站管理中心flash网站源文件
  • 网站策划ppt如何在公司系统建网站
  • vs2008做html5网站wordpress 主题 餐饮
  • python 网站框架微信如何做微商城网站
  • 投资企业网站备案要前置认证怎么做优化
  • 招远住房和规划建设管理局网站网站建设SEO优化
  • 北京 外贸网站建设wordpress怎么恢复自带主题
  • 响应式网站模板的特点网站导航网站建设多少钱
  • 程序员源码网站装修设计公司官网
  • 盛泽建设局网站网站开发工程师发展趋势
  • 太原网站制作小程序网站更新的意义
  • 网站建设证有静态网站开发基础
  • 国内企业网站模板网站关键词多少个字数 站长网
  • wordpress修改时区谷歌seo需要做什么的
  • 建设银行招聘网站企业推广方案范例
  • 江苏伟业建设集团网站大学生网站设计作业
  • 网站变灰色湖北智能网站建设推荐
  • 嘉兴seo公司网站济南网站制作平台