根据本教程
每个JSON值存储在一个名为Value的类型中。表示DOM的文档包含DOM树的根值。
如果是这样,应该可以从文档中生成一个子文档。
如果我的JSON是:
{
"mydict": {
"inner dict": {
"val": 1,
"val2": 2
}
}
}我希望能够从内部字典中创建一个文档。
(然后按照指示执行在FAQ中用于如何将文档节点插入到另一个文档中?)
发布于 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
复制相似问题