如何从boost属性树中读取字段类型

时间:2017-01-30 08:53:50

标签: c++ boost types boost-propertytree

我使用boost属性树从json文件中读取值。

{
    "some_values":
    {
        "field_1":  "value_1",
        "field_2":  true
    }
}

我可以用以下内容读取值:

spTree->get<string>("some_values.field_1",  "");
spTree->get<bool>("some_values.field_2",    false);

但是我可以读取存储在任何给定字段中的变量的类型吗?

1 个答案:

答案 0 :(得分:4)

Documentation says

  

[...]使用以下JSON /属性树映射:

     

[...]   JSON值映射到包含该值的节点。但是,所有类型信息都将丢失;数字,以及文字“null”,“true”和“false”只是简单地映射到它们的字符串形式。   无法映射包含子节点和数据的属性树节点。

因此除非您编写自己的代码或添加其他元数据,否则无法使用JSON解析器。