Nlohmann json学习
Nlohmann json
1.目的:
原始json
优点:清晰
缺点:操作json不方便。
Nlohmann json 通过定义json类,通过json类的方式去操作json,实现增删查找功能,在保证原始优点情况下,使得操作json更加方便。
2.表达元素:
通过分析json格式,可以将json元素分解成下面几类:
1)json对象:{}
对标:c++ map
元素:{key, value}形式出现
PS:key一定是字符串(c++的字符串,std::string), value:可以json的任意对象,包括基础类型和复杂类型,当然也可以是json的字符串类型。
2)json数组:[]
对标:c++ vector
元素:[item1, item2, item3]形式出现
3)json基础类型:
整数类型:Int32,Uint32, Float32
布尔类型:bool
字符串类型:string
空指针类型:nullptr
3.json类提供的方法:
1.序列化和反序列化
序列化:json序列话成字符串
1)json.dump()
反序列化:字符串反序列化成json
1)string+__json
2)json::parse(str)
2.常用的方法
1)类型检查:
2)数组类型:和vector类似
3)对象类型:和map类似
4)std元素转成json
5)隐式转化:支持的类型可以隐式的转化成json对象。
如果需要从json对象中取值:json.get<type>();