<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CJsonObject基于 cJSON 的 C++ 版 JSON 庫

          聯(lián)合創(chuàng)作 · 2023-09-21 20:12

          簡單好用的C++JSON庫CJsonObject,讓使用json如使用C++原生的結(jié)構(gòu)體那般方便,隨心所欲。

          CJsonObject是個(gè)優(yōu)秀的C++JSON庫,截止2019年7月31日,CJsonObject開源一年,未經(jīng)推廣就在GitHub上獲得130多star和60多fork。CJsonObject是基于cJSON全新開發(fā)一個(gè)C++版的JSON庫,最大優(yōu)勢是輕量,簡單好用,開發(fā)效率極高。

          CJsonObject只有4個(gè)文件,拷貝到自己代碼里源碼級(jí)集成即可,無須編譯成庫,且跨平臺(tái)和編譯器。與大部分json解析庫訪問多層嵌套json非常麻煩不同,CJsonObject對(duì)多層嵌套json的讀取和生成使用非常簡單。用 CJsonObject 的好處還在于完全不用專門的文檔,頭文件即文檔,看完 Demo 立刻就會(huì)用,所有函數(shù)都十分通俗易懂。

          絕大部分使用JSON的場景下,易用性與開發(fā)效率才是第一位的,而不是解析性能。CJsonObject 經(jīng)過5年超過9個(gè)項(xiàng)目的生產(chǎn)環(huán)境應(yīng)用驗(yàn)證其功能穩(wěn)定性,開源后又被眾多開發(fā)者用到自己的項(xiàng)目中,絕對(duì)是個(gè)很好的選擇。

          許可證:MIT

          托管地址: 碼云gitee   Github

          功能: JSON 解析,JSON 生成

          平臺(tái): 標(biāo)準(zhǔn) C/C++ 開發(fā),跨平臺(tái)

          使用說明:將 CJsonObject.hppCJsonObject.cpp、cJSON.hcJSON.c 四個(gè)文件加入代碼目錄,與用戶自己的代碼一起編譯即可。

          示例代碼:

          #include #include #include "../CJsonObject.hpp"
          
          int main()
          {
              int iValue;
              std::string strValue;
              neb::CJsonObject oJson("{\"refresh_interval\":60,"
                                  "\"dynamic_loading\":["
                                      "{"
                                          "\"so_path\":\"plugins/User.so\", \"load\":false, \"version\":1,"
                                          "\"cmd\":["
                                               "{\"cmd\":2001, \"class\":\"neb::CmdUserLogin\"},"
                                               "{\"cmd\":2003, \"class\":\"neb::CmdUserLogout\"}"
                                          "],"
                                          "\"module\":["
                                               "{\"path\":\"im/user/login\", \"class\":\"neb::ModuleLogin\"},"
                                               "{\"path\":\"im/user/logout\", \"class\":\"neb::ModuleLogout\"}"
                                          "]"
                                       "},"
                                       "{"
                                       "\"so_path\":\"plugins/ChatMsg.so\", \"load\":false, \"version\":1,"
                                           "\"cmd\":["
                                                "{\"cmd\":2001, \"class\":\"neb::CmdChat\"}"
                                           "],"
                                       "\"module\":[]"
                                       "}"
                                  "]"
                              "}");
               std::cout << oJson.ToString() << std::endl;
               std::cout << "-------------------------------------------------------------------" << std::endl;
               std::cout << oJson["dynamic_loading"][0]["cmd"][1]("class") << std::endl;
               oJson["dynamic_loading"][0]["cmd"][0].Get("cmd", iValue);
               std::cout << "iValue = " << iValue << std::endl;
               oJson["dynamic_loading"][0]["module"][0].Get("path", strValue);
               std::cout << "strValue = " << strValue << std::endl;
               std::cout << "-------------------------------------------------------------------" << std::endl;
               oJson.AddEmptySubObject("depend");
               oJson["depend"].Add("nebula", "https://github.com/Bwar/Nebula");
               oJson["depend"].AddEmptySubArray("bootstrap");
               oJson["depend"]["bootstrap"].Add("BEACON");
               oJson["depend"]["bootstrap"].Add("LOGIC");
               oJson["depend"]["bootstrap"].Add("LOGGER");
               oJson["depend"]["bootstrap"].Add("INTERFACE");
               oJson["depend"]["bootstrap"].Add("ACCESS");
               std::cout << oJson.ToString() << std::endl;
               std::cout << "-------------------------------------------------------------------" << std::endl;
               std::cout << oJson.ToFormattedString() << std::endl;
          }
          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷有码视频 | 九色免费观看91 | 黄片黄片黄片黄片黄片黄片黄片 | 西西西444www无码视 | 欧美日在线观看 |