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;
}