使用用户输入创建JSON数据库
Creating a json database with user input
我需要创建我的.json数组才能看起来像:
{
"airports": [{
"address": "Horley, Gatwick RH6 0NP, UK",
"city": "London",
"shortVersion": "LGW"
},
{
"address": "Marupe, LV-1053",
"city": "Riga",
"shortVersion": "RIX"
}
]
}
但是我现在看起来像这样:
{
"airports": {
"(LGW)": {
"address": "Horley, Gatwick RH6 0NP, UK",
"city": "London",
"shortVersion": "(LGW)"
},
"(RIX)": {
"address": "Marupe, LV-1053",
"city": "Riga",
"shortVersion": "(RIX)"
}
}
}
我现在为用户输入的代码是:
airports["airports"][inputShortVersion]["shortVersion"] = inputShortVersion;
airports["airports"][inputShortVersion]["city"] = inputCity;
airports["airports"][inputShortVersion]["address"] = inputAddress;
我已经搜索了整整一天的方法,但是最接近的是它确实创建了上述数组,但是输入后,它覆盖了最后一个机场数据。
我正在使用Nlohmann JSON库。
您所需的输出中有一个 sequence 容器,但是代码中的 cossociative 容器。
尝试
之类的东西json inputAirport;
inputAirport["shortVersion"] = inputShortVersion;
inputAirport["city"] = inputCity;
inputAirport["address"] = inputAddress;
airports["airports"].push_back(inputAirport);
显然,您正在创建一个JSON对象而不是JSON数组。要获得数组,您可以尝试以下几条:
airports["airports"] = nlohmann::json::array()
new_airport = nlohmann::json::object()
new_airport["shortVersion"] = inputShortVersion;
new_airport["city"] = inputCity;
new_airport["address"] = inputAddress;
airports["airports"].emplace_back(new_airport);
这可以用可读性成本以固定的固定器列表来简短写:
airports["airports"] = nlohmann::json::array()
airports["airports"].emplace_back(
{
{"shortVersion", inputShortVersion},
{"city", inputCity},
{"address", inputAddress}
});
相关文章:
- 在c++中使用nlohmann从类到json的转换
- 查询SQLite数据库中的日期
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- C++json插入数组
- nlohmann-json将一个数组插入到另一个数组中
- 如何使用curlpp通过POST方法上传文件和json数据
- 如何在ArangoDb AQL查询中指定数据库
- JSON转换为nlohmann JSON-lib中的结构数组
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 从数据库实时显示QT c++中的数据
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 如何在 nlohmann 的 json 库中获取数组长度?
- 无法在C++中建立与MySQL数据库的连接
- 使用用户输入创建JSON数据库
- 将JSON直接保存到数据库QT
- 如何将makefile转换为JSON编译数据库
- 当在数据库上保存json格式的字符串时,我是否也应该保存值的类型以便稍后转换回来
- 接收JSON并写入数据库的c++应用程序
- 实体-属性-值模式或数据库中的JSON