发布于 2018-05-20 00:33:48
鉴于原始文件包括:
{
"mydict": {
"inner dict": {
"val": 1,
"val2": 2
}
}
}您可以复制子文档:
const char json[] = "{\"mydict\": {\"inner dict\": {\"val\": 1, \"val2\": 2}}}";
Document doc, sub; // Null
doc.Parse(json);
sub.CopyFrom(doc["mydict"], doc.GetAllocator());您还可以将子文档与另一个文件交换:
const char json[] = "{\"mydict\": {\"inner dict\": {\"val\": 1, \"val2\": 2}}}";
Document doc, sub; // Null
doc.Parse(json);
sub.Swap(doc["mydict"]);通过一些验证:
const char json[] = "{\"mydict\": {\"inner dict\": {\"val\": 1, \"val2\": 2}}}";
Document doc, sub; // Null
doc.Parse(json);
if (doc.IsObject()) {
auto it = doc.FindMember("mydict");
if (it != doc.MemberEnd() && it->value.IsObject()) {
sub.Swap(it->value);
}
}每一个结果都将导致sub,其中包括:
{
"inner dict": {
"val": 1,
"val2": 2
}
}使用CopyFrom()方法,doc将包含:
{
"mydict": {
"inner dict": {
"val": 1,
"val2": 2
}
}
}用Swap()
{
"mydict": null
}https://stackoverflow.com/questions/44881239
复制相似问题