我目前正在使用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文件名作为程序选项,但是能够将它全部放在一个配置文件中会很好。