繁体   English   中英

C ++-将JSON或数组从其转换为向量

[英]C++ - Convert JSON or array from it into vector

我正在使用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"
        ]
    ]
}

json解析器已使[]运算符重载为JSON数组接受整数。 因此,它的访问方式与矢量相同,但是基础数据结构没有太多共同点。 因此,您需要将其推回std ::: vector。 您还希望将字段从JSON转换为其他C ++,例如,如果您想在其他地方使用数据。 像{int id,std :: string title,int Quantity,float price}之类的东西;

然后,将其作为内存中带有扁平化std :: vector包装器的平面C ++结构列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM