RapidJson基本 *** 作
1、读取
使用 rapidjson::Document::Parse处理原始文本。
使用 rapidjson::Document::ValueType处理数据项(rapidjson::Document本身也是ValueType)。
例:
json文件内容如:
{ "N1": "D1", "N2": { "bejing", "shanghai", "guangzhou" } }
代码:
rapidjson::Document doc; doc.Parse<rapidjson::kParseDefaultFlags>((const char*)<#原文本#>); auto & n1 = doc["N1"]; if(n1.IsString())
{
printf("n1 is:%s\n", n1.GetString()); // 输出 D1
}
读取数组:
auto & a = doc["N2"];
if(a.IsArray())
{
for (size_t i = 0; i < a.Size(); ++i)
{
auto & node = a[i];
printf("%s\n", node.GetString());
}
}
附:
使用编译语法定义json内容
概念:
String: 字符串, Number: 数字, Object:对象, Array:数组, null:空值, false:布尔假, true:布尔真
R1: _Name: String
R2: _Data: String,Number,Object,Array,null,false,true
R3: Object: { _Name:_Data, ... } (最后一项后面没有逗号)
R4: Array: [_Data, _Data, ...] (最后一项后面没有逗号)
R5: 一个合法的json为一个单独的顶级Object。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)