C++ 如何在C+中创建具有数字或值的json消息+;使用boost
有人能提出解决办法吗, 如何在C中使用boost json创建以下格式的json++ json所需格式如下所示C++ 如何在C+中创建具有数字或值的json消息+;使用boost,c++,json,boost,C++,Json,Boost,有人能提出解决办法吗, 如何在C中使用boost json创建以下格式的json++ json所需格式如下所示 { "myarray": [ [ 12, 12, 120, 120 ], [ 120, 12, 129, 120 ], [ 12, 120, 120, 129 ] ], "count": 3, } 我尝试使用ptree-pu
{
"myarray":
[
[ 12, 12, 120, 120 ],
[ 120, 12, 129, 120 ],
[ 12, 120, 120, 129 ]
],
"count": 3,
}
我尝试使用ptree-put方法,但似乎数字正在转换为字符串。
是否有可能使用boost json库中提供的基本树、转换器或其他工具?正如其他用户所提到的,boost ptree有一些限制 如果这是您唯一需要的格式,那么您可以编写自己的解决方案(选项卡和换行符仅用于可读性):
使用MyArray=vector;
使用MyArrays=vector;
字符串CreateJson(const MyArrays&v)
{
ostringstream json;
json看起来您可能想看看这里的一个答案:boost似乎没有真正的json支持。boost几天前获得了一个json库:
using MyArray = vector<int>;
using MyArrays = vector<MyArray>;
string CreateJson(const MyArrays& v)
{
ostringstream json;
json << "{\n\t" << R"("myarray":[)" << "\n";
for (const auto& vv : v)
{
json << "\t\t[";
for (auto el : vv) json << el << ", ";
json.seekp(-1, json.cur);
json << "],\n";
}
json.seekp(-2, json.cur);
json << "\n";
json << "\t\t],\n\t" << R"("count":)" << v.size() << "\n}";
return json.str();
}