如何读取 JSON 具有 C++ 参数值的文件

How to read JSON file which has values with parameters in C++

我正在尝试使用 C++ 读取 JSON 文件。在文件中我有键值对。在值中,我传递了具有不同参数的值的数量。

这种做法是否正确?请问是否需要修改?

方法 1:

"test_details" : {
        "testd" : "1",
        "testvalue":["one", "two(param1, para2)", "three(param1, param2, param3)"]
    }

方法 2:

"test_details" : {
        "testd" : "1",
        "testvalue":"one"
    },
    {
        "testd" : "2",
        "testvalue":"two(param1, para2)"
    },
    {
        "testd" : "3",
        "testvalue":"three(param1, param2, param3)"
    }

谢谢

正确的解析方法是获取键“testvalue”下的对象 您必须将其解析为 vector<string>

是的,可以将 json 解析为一个对象。我非常喜欢第二种方法。假设你采用第二种方法,你可以创建一个 TestCase class 看起来像:

class TestCase {
public:
   std::string id; 
   std::string value; 
   // std::vector<std::string> values; // this will hold multiple values for one test case
}

class TestDetails { public: std::vector<TestCase> };

这个 class 的对象可以通过反序列化您的 json 负载来构造。反之得到json序列化结果。

检查此 library 以在 C++ 中解析 json。 json解析的解决方案很多,我链接的库是个人喜好。