CJsonObject 基于 cJSON 的 C++ 版 JSON 库开源项目

我要开发同款
匿名用户2018年07月17日
174阅读

技术信息

开源地址
https://gitee.com/Bwar/CJsonObject
授权协议
MIT

作品详情

简单好用的C++JSON库CJsoObject,让使用jso如使用C++原生的结构体那般方便,随心所欲。

CJsoObject是个优秀的C++JSON库,截止2019年7月31日,CJsoObject开源一年,未经推广就在GitHub上获得130多star和60多fork。CJsoObject是基于cJSON全新开发一个C++版的JSON库,最大优势是轻量,简单好用,开发效率极高。

CJsoObject只有4个文件,拷贝到自己代码里源码级集成即可,无须编译成库,且跨平台和编译器。与大部分jso解析库访问多层嵌套jso非常麻烦不同,CJsoObject对多层嵌套jso的读取和生成使用非常简单。用CJsoObject的好处还在于完全不用专门的文档,头文件即文档,看完Demo立刻就会用,所有函数都十分通俗易懂。

绝大部分使用JSON的场景下,易用性与开发效率才是第一位的,而不是解析性能。CJsoObject经过5年超过9个项目的生产环境应用验证其功能稳定性,开源后又被众多开发者用到自己的项目中,绝对是个很好的选择。

许可证:MIT

托管地址: 码云gitee  Github

功能:JSON解析,JSON生成

平台:标准C/C++开发,跨平台

使用说明:将 CJsoObject.hpp、CJsoObject.cpp、cJSON.h、cJSON.c 四个文件加入代码目录,与用户自己的代码一起编译即可。

示例代码:

#iclude #iclude #iclude "../CJsoObject.hpp"it mai(){    it iValue;    std::strig strValue;    eb::CJsoObject oJso("{\"refresh_iterval\":60,"                        "\"dyamic_loadig\":["                            "{"                                "\"so_path\":\"plugis/User.so\", \"load\":false, \"versio\":1,"                                "\"cmd\":["                                     "{\"cmd\":2001, \"class\":\"eb::CmdUserLogi\"},"                                     "{\"cmd\":2003, \"class\":\"eb::CmdUserLogout\"}"                                "],"                                "\"module\":["                                     "{\"path\":\"im/user/logi\", \"class\":\"eb::ModuleLogi\"},"                                     "{\"path\":\"im/user/logout\", \"class\":\"eb::ModuleLogout\"}"                                "]"                             "},"                             "{"                             "\"so_path\":\"plugis/ChatMsg.so\", \"load\":false, \"versio\":1,"                                 "\"cmd\":["                                      "{\"cmd\":2001, \"class\":\"eb::CmdChat\"}"                                 "],"                             "\"module\":[]"                             "}"                        "]"                    "}");     std::cout << oJso.ToStrig() << std::edl;     std::cout << "-------------------------------------------------------------------" << std::edl;     std::cout << oJso["dyamic_loadig"][0]["cmd"][1]("class") << std::edl;     oJso["dyamic_loadig"][0]["cmd"][0].Get("cmd", iValue);     std::cout << "iValue = " << iValue << std::edl;     oJso["dyamic_loadig"][0]["module"][0].Get("path", strValue);     std::cout << "strValue = " << strValue << std::edl;     std::cout << "-------------------------------------------------------------------" << std::edl;     oJso.AddEmptySubObject("deped");     oJso["deped"].Add("ebula", "https://github.com/Bwar/Nebula");     oJso["deped"].AddEmptySubArray("bootstrap");     oJso["deped"]["bootstrap"].Add("BEACON");     oJso["deped"]["bootstrap"].Add("LOGIC");     oJso["deped"]["bootstrap"].Add("LOGGER");     oJso["deped"]["bootstrap"].Add("INTERFACE");     oJso["deped"]["bootstrap"].Add("ACCESS");     std::cout << oJso.ToStrig() << std::edl;     std::cout << "-------------------------------------------------------------------" << std::edl;     std::cout << oJso.ToFormattedStrig() << std::edl;}

功能介绍

简单好用的C++JSON库CJsonObject,让使用json如使用C++原生的结构体那般方便,随心所欲。 CJsonObject是个优秀的C++JSON库,截止2019年7月31日,CJso...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论