我正在使用RapidJSON在C ++中处理2MB JSON字符串。我知道您可以尝试通过以下操作从当前级别获取对象:
rapidjson::Value& json = document["object1"];
但是,有没有一种方法可以一次性获得多个层次的内容,而不必一路获取每个中间对象(并且可能与我的最终目标无关)?遵循以下概念:
rapidjson::Value& member = document["object1.object2.object3.member"];
我已经搜索了此内容,但没有提出任何建议,因此我被认为答案是否定的,但我想确定。
答案 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
}