我有一个简单的JSON文档,它以数组开头,我需要将其解析为C ++中的对象列表。我到处搜索,所有其他内容都以{开头,但我的Json是以[
开头我不想编写代码来“循环”解析数据,它应该非常简单,例如ToObjectList()或ToList()等。在C#中使用NewtonSoft似乎很容易,但是在RapidJson C ++中,我无法弄清楚。
这是我的JSON文件。...
[{
"C": 28563.0,
"CO": 0,
"H": 28563.0,
"L": 28545.0,
"O": 28547.0,
"T": 1562907600,
"TO": 41315958,
"V": 1447
}, {
"C": 28499.0,
"CO": 0,
"H": 28564.0,
"L": 28494.0,
"O": 28563.0,
"T": 1562911200,
"TO": 371724821,
"V": 13030
}, {
"C": 28516.0,
"CO": 0,
"H": 28536.0,
"L": 28481.0,
"O": 28499.0,
"T": 1562914800,
"TO": 301700826,
"V": 10582
}, {
"C": 28539.0,
"CO": 0,
"H": 28545.0,
"L": 28500.0,
"O": 28517.0,
"T": 1562918400,
"TO": 150871685,
"V": 5290
}]
有人可以帮助解析这是RapidJson C ++并将其放在对象列表中吗? (最好不必遍历每个元素)
就像..... ToObjectList(“ json_str”);
答案 0 :(得分:0)
我会尝试这样的事情:
Document d;
d.Parse(yourJsonString);
“ d”保存已解析的JSON,因此您可以对其进行迭代并将元素追加到列表中(它可以是自定义列表,并且可以在每次迭代中创建自定义对象):
for (SizeType i = 0; i < d.Size(); i++) {
// Here get elements of the array by key, build your custom object
// and insert it into a Vector or List
// Example: d[i]["V"].GetInt()
}
也请去看看以下相关答案: How to parse array in root with rapidjason