向量作为 JSON 中的值 (C++/nlohmann::json)

Vector as value in JSON (C++/nlohmann::json)

我想要这样的东西:

{ "rooms": [ "room1", "room2", "room3", etc ] }

我有一个 std::vector<std::string> 的房间名称,我想将其转换为 JSON 的键为 'rooms',其值为所有房间的列表。
作为结论,
如何将 std::vector 转换为 JSON 数组作为值(不是键)。
感谢各位帮手! :)

您可以直接从 std::vector<std::string> 创建一个 Json 数组,这样就可以了:

#include <nlohmann/json.hpp>

#include <iostream>
#include <string>
#include <vector>

using json = nlohmann::json;

int main() {
    std::vector<std::string> rooms{
        "room1",
        "room2",
        "room3",
    };

    json j;

    // key `rooms` and create the json array from the vector:
    j["rooms"] = rooms;

    std::cout << j << '\n';
}

输出

{"rooms":["room1","room2","room3"]}