基本概念
value
- 每个JSON值都存为Value类型。
- 而整个框架结构为Document。
Document 和Value的关系就是类似树结构和节点结构的关系。
数据类型
- Object : 键值对的集合,键必须是字串。
- Array
- String
对应的枚举分别是kObjectType, kArrayType,kStringType。 - 1,貌似还有bool类型? 那bool也是object的一种?
- 2,所有的数值在JSON 中都用IsNumber()来判断。
- 3,Array类型看来也是Object的一种。
- 4,还有迭代器雷西你给 ConstValueIterrator。
- 5,SizeType,尽管它只是unsigned 的typedef。
- 6,rapodjson中的数值,一般是unsigned,init,uint64_t, int64_t, double 这几种。
7,默认情况下创建的Value类型是Null。
一般来说,创建存储空间不固定的对象,都需要分配器。比如 Value key(“k”, doc.GetAllocator());
而Value key(42)就不需要。
空Object或者Array的办法有俩:
一是 Value obj;obj.SetObject();
二是 Value obj(kObjectType);
转移语义
把存储从一个变量移到另外一