c++json构建与解析组件 RapidJSON 没用过永远不会知道有多好用
参考资料:
原理请参考以上资料
构建json
Document doc;
Document::AllocatorType &allocator=doc.GetAllocator(); //1.获取分配器
doc.SetObject();
//2,给doc对象赋值
Value pnameValue;pnameValue.SetString(StringRef(pname.c_str()));//创建"key":"value"
Value tagsValue;tagsValue.SetObject();//创建{}
tagsValue.AddMember("pname",pnameValue,allocator);
doc.AddMember("tags",tagsValue,allocator);
Value tempV;
tempV.SetString(StringRef(value.c_str()));//std::string value("test");
doc.AddMember("value",tempV,allocator);
//3,将doc对象的值写入字符串
StringBuffer buffer;
//PrettyWriter<StringBuffer> writer(buffer); //PrettyWriter是格式化的json,如果是Writer则是换行空格压缩后的json
Writer<StringBuffer> writer(buffer);
doc.Accept(writer);
return buffer.GetString();
效果:
{"tags": {"pname"="xxx"},"value":"123, 123, 456, 123"}
解析Json
略
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异