使用 rapidJson (c++) 访问数组
access arrays with rapidJson (c++)
我正在尝试使用 rapidJson (v 0.11) 解析 Json 文件,但我无法使用看似简单的数组来解析它。这是我的文件的结构:
[{"id": "my_id1","type":"my_type1"},
{"id": "my_id2","type":"my_type2"},
...
]
rapidJson 似乎无法读取以数组开头的那种类型的文件。有什么办法可以处理吗?
这是我尝试使用的代码的摘录:
FILE * pFile = fopen ("my_json.json" , "r");
rapidjson::FileStream is(pFile);
rapidjson::Document document;
document.ParseStream<0>(is);
我被困在这里,因为我应该通过这种语法 value = document["key"]
访问元素,但我在第一级没有任何 "key"...
鉴于您的 JSON 文件的顶层有一个数组,您只需提供该数组的索引即可访问您的文档。
例如:
// access first element
rapidjson::Value & val = document[0];
我正在尝试使用 rapidJson (v 0.11) 解析 Json 文件,但我无法使用看似简单的数组来解析它。这是我的文件的结构:
[{"id": "my_id1","type":"my_type1"},
{"id": "my_id2","type":"my_type2"},
...
]
rapidJson 似乎无法读取以数组开头的那种类型的文件。有什么办法可以处理吗?
这是我尝试使用的代码的摘录:
FILE * pFile = fopen ("my_json.json" , "r");
rapidjson::FileStream is(pFile);
rapidjson::Document document;
document.ParseStream<0>(is);
我被困在这里,因为我应该通过这种语法 value = document["key"]
访问元素,但我在第一级没有任何 "key"...
鉴于您的 JSON 文件的顶层有一个数组,您只需提供该数组的索引即可访问您的文档。
例如:
// access first element
rapidjson::Value & val = document[0];