我正在尝试从某些返回JSON的天气API获取数据。
我读到列表中的每个项目都被视为没有“标签”的节点,但是,在这里,列表中包含两个节点。我如何访问description
标签,因为root.get<string>("weather.description")
会引发Node does not exist
错误?
我尝试了什么(什么都没有回复):
for (auto it: root.get_child("weather")) {
cout << it.first.data() << "+";
cout << it.second.data() << endl;
}
weather.json :
{
"weather": [
{
"id": "701",
"main": "Mist",
"description": "brume",
"icon": "50n"
},
{
"id": "502",
"main": "Sun",
"description": "soleil",
"icon": "50b"
}
]
}
答案 0 :(得分:0)
为此找到了解决方法!我认为天气是8个独立节点的列表,但它实际上是两个天气的孩子。这样,我可以使用以下内容访问他们的个人数据:
for (auto it: root.get_child("weather")) {
cout << it.second.get_child("description").data() << endl;
}
返回:
brume
soleil