gpt4 book ai didi

C++ json-nlohmann 访问列表元素

转载 作者:行者123 更新时间:2023-11-30 01:44:38 31 4
gpt4 key购买 nike

我正在尝试使用 json-nlohmann在 C++ 中读取 JSON 文件的库

到目前为止,我与它相处得很好,但现在我正在尝试访问给定 json 中的列表元素。 JSON:

{
"GameMap": "path_to_game_map",
"Objects": [
{ "object_1": { "Transform": { "Position": { "X": 1, "Y": 2 }, "Rotation": { "X": 3.5, "Y": 8.2 }, "Scale": { "X": 1, "Y":1 } },
"Components": [
{ "0": { "data": { "some_data": "false" } } },
{ "1": { "data": { "some_data": "false" } } },
{ "2": { "data": { "some_data": "false" } } }
] } },
{ "object_2": { "Transform": { "Position": { "X": 1, "Y": 2 }, "Rotation": { "X": 3.5, "Y": 8.2}, "Scale": { "X": 1, "Y":1 } },
"Components": [
{ "0": { "data": { "some_data": "false" } } },
{ "1": { "data": { "some_data": "false" } } },
{ "2": { "data": { "some_data": "false" } } }
] } }
]
}

我试图访问每个组件并读取其键值的位置。

我已经为每个组件创建了一个对象。但我就是不知道如何读取它的键和值。

帮助!请。

最佳答案

当你迭代一个 JSON 对象时,比如 j,你可以像这样访问键和值:

for (json::iterator it = j.begin(); it != j.end(); ++it) {
std::cout << it.key() << " : " << it.value() << "\n";
}

您现在还可以使用 for (auto& element : j.items()) 然后使用 element.key()element.value() 在循环内。

关于C++ json-nlohmann 访问列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35831579/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com