我一直想用c++处理json文件,我偶然发现了nlohmann的json解析器。我试图将JSON解析为char和string vector的Map,但我一直得到相同的[type_error.302]类型必须是数组,但却是对象
#include <iostream>
#include <string>
#include <vector>
#include <unordered_map>
#include <fstream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main() {
std::unordered_map<char, std::vector<std::string>> wordList;
std::ifstream file("wordlist.json");
if (!file.is_open()) {
throw std::runtime_error("Failed to open wordlist.json");
}
json data;
file >> data;
wordList = data.get<decltype(wordList)>();
}
这是我使用的JSON示例
{
"a": ["apple", "apricot"],
"b": ["banana", "blueberry"],
"c": ["cherry", "cranberry"]
}
有谁能帮我弄清楚这段代码有什么问题吗
1条答案
按热度按时间yc0p9oo01#
虽然wordlist.json中的键只有一个字符,但它们仍然是字符串。因此,解决方案是将这一行改为:
收件人: