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"}
相关推荐
笨笨饿5 分钟前
#135_代码中的类型重定义艺术:从基础封装到函数类型设计
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
统计学小王子8 分钟前
R语言入门——ggplot2图例增加公式
开发语言·r语言
牛油果子哥q10 分钟前
C++内存池与对象池精讲:内存碎片、自定义分配器、对象池实现、STL allocator原理、工程落地与性能对比
java·开发语言·c++
CodeStats18 分钟前
《源纹天书》第三百六十三章至第三百六十四章
java·开发语言·源纹天书
万法若空29 分钟前
C/C++ 类型别名定义方式对比
java·c语言·c++
Java后端的Ai之路1 小时前
03、Python - 抽象工厂模式
开发语言·python·设计模式·抽象工厂模式·通用智慧
吴声子夜歌1 小时前
Java——开发中通用的方法和准则(一)
java·开发语言
常驻客栈1 小时前
B-深入理解计算机系统第3版之第11章:网络编程
开发语言·笔记·学习笔记·常驻客栈·深入理解计算机系统
旧梦95271 小时前
Java 单例模式:从基础到实战的完整指南
java·开发语言·单例模式
小小晓.2 小时前
C++ 值类别与完美转发深度剖析:从左值右值到 std::forward 源码解密
开发语言·c++·算法