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)

原文链接: https://www.cnblogs.com/jest549/p/14506549.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/208710

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午11:32
下一篇 2023年2月12日 下午11:32

相关推荐