C++使用json11开源库快速生成JSON格式的数据

在程序开发中,JSON格式的接口数据应用很广泛,C++生态中有许多高效的JSON库,如nlohmann/json、RapidJSON、jsoncpp等,这些库提供了便捷的API来实现JSON数据的解析、生成、序列化和反序列化,简化了C++程序对JSON数据的操作,本文记录一个轻量级的开源库json11来生成JSON格式的数据。

  • json11的github地址

https://github.com/dropbox/json11

  • 代码
cpp 复制代码
#include <iostream>
#include "json11.hpp"

using namespace std;

int main()
{
    // JSON对象
    json11::Json::object root;

    root["ChanCode"] = "1";
    root["ChanDesc"] = nullptr;
    root["ChanType"] = "5";

    // JSON数组
    json11::Json::array subArray;

    json11::Json::object subObj1;
    subObj1["IP"] = "127.0.0.1";
    subObj1["Port"] = "10086";
    json11::Json::object subObj2;
    subObj2["IP"] = "127.0.0.1";
    subObj2["Port"] = "10010";

    // JSON数组添加元素
    subArray.push_back(subObj1);
    subArray.push_back(subObj2);

    root["Address"] = subArray;

    json11::Json json = root;
    std::string strJson = json.dump();

    cout << strJson << endl;
    cout << strJson.length() << endl;

    return 0;
}

json11是C++11的一个小型JSON库,提供JSON解析和序列化。在使用过程中只需要引用json11.hpp和json11.cpp两个文件即可使用json11的接口。

  • JSON数据
json 复制代码
{"Address": [{"IP": "127.0.0.1", "Port": "10086"}, {"IP": "127.0.0.1", "Port": "10010"}], "ChanCode": "1", "ChanDesc": null, "ChanType": "5"}
相关推荐
龙泉寺天下行走13 小时前
MinGW-w64 工具链(GCC 编译器) 的不同构建版本的区别
c++
代码AC不AC14 小时前
【C++】异常
c++·学习·异常
小龙报14 小时前
《嵌入式成长系列之51单片机 --- Keil5创建工程》
c语言·开发语言·c++·单片机·嵌入式硬件·51单片机·学习方法
9ilk14 小时前
【基于one-loop-per-thread的高并发服务器】--- 项目测试
运维·服务器·c++·后端·中间件
无限进步_14 小时前
【C语言】贪吃蛇游戏设计思路深度解析:从零开始理解每个模块
c语言·开发语言·c++·git·游戏·github·visual studio
听风吟丶14 小时前
Java 函数式编程深度实战:从 Lambda 到 Stream API 的工程化落地
开发语言·python
rainFFrain15 小时前
qt显示类控件--- Label
开发语言·qt
渡我白衣15 小时前
深入理解 OverlayFS:用分层的方式重新组织 Linux 文件系统
android·java·linux·运维·服务器·开发语言·人工智能
西游音月15 小时前
(6)框架搭建:Qt实战项目之主窗体快捷工具条
开发语言·qt
waves浪游15 小时前
进程概念(上)
linux·运维·服务器·开发语言·c++