json for modern c++库的简单使用
GitHub开源项的地址:https://github.com/nlohmann/json
json for modern c++是一个德国大牛nlohmann写的,该版本的json有以下特点:
1.直观的语法。
2.整个代码由一个头文件组成json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便。
3.使用c++11标准编写。
4.使用json 像使用STL容器一样。
5.STL和json容器之间可以相互转换。
使用可以参照github的ReadMe文档。
1.包含头文件 #include <nlohmann/json.hpp> // for convenience using json = nlohmann::json; 使用g++编译时,需要加上 -std=c++11 2.初始化时可以这样。 json j_test; j_test={ {"H", { {"I","12345678"}, {"J",12345} } }, {"S",1}, {"K", { {"K1",11}, {"K2",11} } } }; 3.单独赋值 j_test["H"]=12345; j_test["H"]["I"]="12345678"; j_test["H"]["J"]=123456; j_test["h"][0]={"h0",123,"h1",456}; j_test["h"][0]["hh"]=123; j_test["h"][0]["hhh"]=456; j_test["H"]={{"I",1234}}; std::string temp_str=j_test["H"]["I"]; int temp_int= j_test["H"]["J"]; 4.序列化与反序列化
//序列化 std::string str_data=j_test.dump();//j_test。dump(4);
char buf[2048];
memcpy(buf,str_data.c_str(),str_data.length());
//反序列化
j_test=json::parse(buf); //std::string str_data=j_test.dump(4);
j_test.dump(2)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App