结合boost :: program_options和JSON

时间:2017-02-13 18:58:54

标签: c++ json boost-program-options boost-propertytree

我目前正在使用boost::program_options来解析命令行和配置文件参数。然而,最近我意识到我需要能够通过我的程序一个选项列表,这些选项可以很容易地使用例如JSON表示法

algorithms: [
    {
        type: alg1,
        parameters: {},
        weight: 0.1,
    },
    {
        type: alg2,
        parameters: {},
        weight: 0.6,
    }
]

其中参数选项可以根据类型具有不同数量的参数。我想知道是否有任何方法可以将json直接提供给由program_options解析的配置文件。我看到的问题是我不能让program_options用换行符解析一个值,如果可以的话,我可以写出一些符合

的内容。
algorithms = [
    {
        type: alg1,
        parameters: {},
        weight: 0.1,
    }
]

解析为字符串,然后我可以将其移交给boost::property_tree。或者,有没有更好的方法只使用boost::program_options解析这些类型的变量选项?我知道一个选项是简单地使用配置单独的.json文件,并将该json文件名作为程序选项,但是能够将它全部放在一个配置文件中会很好。

0 个答案:

没有答案