C++ 如何在C+中创建具有数字或值的json消息+;使用boost

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

有人能提出解决办法吗, 如何在C中使用boost json创建以下格式的json++

json所需格式如下所示

{
      "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();
}