我使用https://github.com/nlohmann/json将JSON文件加载到我的程序中 此刻,我正在加载它:
json jsonFile;
ifstream ifs("data/test.json");
ifs >> jsonFile;
// create JSON from stream
json j_complete(jsonFile);
我可以通过以下方式访问它:
jsonFile["data"][X][Y] // X, Y are indexes
但是我想从中创建矢量 - 我该怎么做呢? 以下是此文件的示例:
{
"cols": [
"id",
"title",
"quantity",
"price"
],
"data": [
[
12,
"Guzman",
6,
"6.31"
],
[
2,
"..",
5,
"4.34"
],
[
3,
"Goldeniererere",
14,
"4.15"
]
]
}
答案 0 :(得分:0)
json解析器重载了[]运算符以接受JSON数组的整数。因此它以与向量相同的方式访问,但底层数据结构并没有多少共同之处。所以你需要把它推回到std ::: vector。您还希望将字段从JSON转换为更多C ++,如果您想在其他地方使用数据。类似{int id,std :: string title,int quantity,float price};
然后你将它作为平面C ++内存结构列表,上面有一个瘦的std :: vector包装器。