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"}
相关推荐
没有bug.的程序员20 小时前
Spring Cloud Alibaba 生态总览
java·开发语言·spring boot·spring cloud·alibaba
快乐非自愿21 小时前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
树在风中摇曳21 小时前
Java 静态成员与继承封装实战:从报错到彻底吃透核心特性
java·开发语言
芳草萋萋鹦鹉洲哦1 天前
【Windows】tauri+rust运行打包工具链安装
开发语言·windows·rust
权泽谦1 天前
R Shiny 交互式网页实战:从零到上线可视化应用
开发语言·信息可视化·r语言
hweiyu001 天前
Go Fiber 简介
开发语言·后端·golang
Molesidy1 天前
【VSCode】【Clangd】Win下的基于LLVM/Clangd+Clangd插件+MINGW+CMake的VSCode配置C/C++开发环境的详细教程
c++·ide·vscode·clangd·llvm
ᐇ9591 天前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表
码银1 天前
【数据结构】顺序表
java·开发语言·数据结构
Mr_WangAndy1 天前
C++_chapter13_C++并发与多线程_多线程概念,死锁,unique_lock(),lock_guard()使用
c++·lock·死锁·并发与多线程·unlock·lock_guard·unique_lock