JsonCpp:如何将unordered_map转换为Json :: Value

问题描述

如何在C ++中将unordered_map转换为JsonCpp中的Json::Value

例如,我有一个

unordered_map<std::string,std::string> map;

,我想将其转换为Json :: Value:

Json::Value myJson = ConvertToJson(map); // not a real code

该怎么做?

解决方法

注意,Jsoncpp 使用地图来处理数据。因此,您的无序地图将在 Json::Value 内排序。

这是:

Json::Value ConvertToJson(std::unordered_map<std::string,std::string> map)
{
    Json::Value json;

    for(auto& element : map)
    {
        json[element.first] = element.second;

    }
    return json;
}