C++ Boost-ptree数字数组

C++ Boost-ptree数字数组,c++,boost,boost-propertytree,ptree,C++,Boost,Boost Propertytree,Ptree,我使用以下代码创建一个数字数组 运行以下代码后,我看到以下结果: { "": "1.100000", "": "2.200000", "": "3.300000" } 它是好的,除了我想要的结果必须是一个数字数组而不是字符串。通过boost::property_tree::ptree(x)直接添加一个数字也会给我一个错误。如何生成输出json结果 { "": 1.100000, "": 2.200000, "": 3.300000 } 代码:

我使用以下代码创建一个数字数组

运行以下代码后,我看到以下结果:

{
    "": "1.100000",
    "": "2.200000",
    "": "3.300000"
}
它是好的,除了我想要的结果必须是一个数字数组而不是字符串。通过
boost::property_tree::ptree(x)
直接添加一个数字也会给我一个错误。如何生成输出json结果

{
    "": 1.100000,
    "": 2.200000,
    "": 3.300000
}
代码:

#包括
#包括
#包括
int main()
{
boost::property_tree::ptree pt;
std::vector Vec={1.1,2.2,3.3};
用于(双x:Vec)
{
std::string x_string=std::to_string(x);
后推(
std::make_pair(“”,
boost::property_tree::ptree(x_字符串));
}
boost::property_tree::json_parser::write_json(std::cout,pt);

std::coutPTree没有这样的特性

所有内容都是序列化格式的文本。即使所选的后端格式可以支持(有限的)类型化数据

文件:

正如我不断重申的那样:

Boost没有XML库

Boost没有JSON库

Boost有一个属性树库。它处理属性树,而不是JSON、XML或其他任何东西


PTree没有这样的特性

所有内容都是序列化格式的文本。即使所选的后端格式可以支持(有限的)类型化数据

文件:

正如我不断重申的那样:

Boost没有XML库

Boost没有JSON库

Boost有一个属性树库。它处理属性树,而不是JSON、XML或其他任何东西


可能使用pt.put()?@pSoLT,
put
无法识别空路径。你是对的,我的错。可能使用pt.put()?@pSoLT,
put
无法识别空路径。你是对的,我的错。这有点令人失望。拥有完全相同类型的属性,并且在javascript中使用==,而不是==是很好的。我本来希望对所有JSON改为使用BOOST属性树。现在,我不确定。这有点令人失望。拥有pr是很好的属性的确切类型,并在javascript中使用==,而不是==。我希望对所有JSON使用BOOST属性树。现在,我不确定。
#include <iostream>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>

int main()
{
    boost::property_tree::ptree pt;
    std::vector<double> Vec={1.1,2.2,3.3};
    for(double x:Vec)
    {
        std::string x_string=std::to_string(x);
        pt.push_back(
            std::make_pair("", 
            boost::property_tree::ptree(x_string)) );

    }
    boost::property_tree::json_parser::write_json(std::cout, pt);
    std::cout<<std::endl;
    return 0;
}