C++ RapidJson 帮助反序列化数组对象
C++ RapidJson Help deserialize array object
我有一个简单的 JSON 文档,它以数组形式开始,我需要将它解析为 C++ 中的对象列表。我四处搜索,其他一切都以 { 开头,但我的 Json 以 [
开头
我不想编写必须 "loop" 才能解析数据的代码,它应该是一些非常简单的东西,例如 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");
我会尝试这样的事情:
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()
}
请你也去看看这个相关的答案:
我有一个简单的 JSON 文档,它以数组形式开始,我需要将它解析为 C++ 中的对象列表。我四处搜索,其他一切都以 { 开头,但我的 Json 以 [
开头我不想编写必须 "loop" 才能解析数据的代码,它应该是一些非常简单的东西,例如 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");
我会尝试这样的事情:
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()
}
请你也去看看这个相关的答案: