获取嵌套的JSON成员,而无需直接获取每个中间对象

时间:2019-04-08 18:18:00

标签: c++ rapidjson

我正在使用RapidJSON在C ++中处理2MB JSON字符串。我知道您可以尝试通过以下操作从当前级别获取对象:

rapidjson::Value& json = document["object1"];

但是,有没有一种方法可以一次性获得多个层次的内容,而不必一路获取每个中间对象(并且可能与我的最终目标无关)?遵循以下概念:

rapidjson::Value& member = document["object1.object2.object3.member"];

我已经搜索了此内容,但没有提出任何建议,因此我被认为答案是否定的,但我想确定。

1 个答案:

答案 0 :(得分:1)

使用RapidJSON的JSON pointer API

#include "rapidjson/pointer.h"

Document document;
if (Value* member = GetValueByPointer(document, "/object1/object2/object3/member")) {
    // the pointer was sucessfully resolved in the document
    // do something with member
}