RapidJSON:如何只解析第一级?

时间:2016-05-12 13:43:11

标签: c++ rapidjson

我正在使用RapidJSON为我的游戏解析一些配置文件(材料定义,组件等)。但是,我很好奇是否可以将RapidJSON配置为仅解析JSON文档中的第一级。想象一下:

{
  "foo": "bar",
  "bar": "foo",
  "nested": {
    "foo": "bar"
  }
}

foo是字符串栏,bar是字符串foo,nested是字符串{“foo”:“bar”}

这可能吗?我有几个嵌套文档,我不需要解析,我不希望RapidJSON浪费时间。

1 个答案:

答案 0 :(得分:1)

没有。 RapidJSON目前不支持此功能。

我认为它不会有什么帮助,因为它仍然需要对你想要跳过的部分进行词法分析。

但是,您可以通过自定义事件处理程序过滤事件,如this example

顺便说一下,作为游戏开发者,我认为普通配置文件不会太大。 RapidJSON的解析速度应远低于I / O时间。如果您只需要部分JSON,则可以对其进行预处理以单独存储数据。