AWS CPP SDK JsonValue 将双精度或整数数组添加到 JSON

AWS CPP SDK JsonValue add array of double or Integer to JSON

我想使用适用于 C++ 的 Aws-sdk 创建一个 JSON。这就是我目前所做的。

void convertStructToAwsJSON()
{
    Aws::Utils::Json::JsonValue jsonValue = Aws::Utils::Json::JsonValue();
    jsonValue.WithDouble("percentage", 93.6);
    jsonValue.WithInteger("age", 25);
    float grades[3] = {87, 95, 65};
    jsonValue.WithArray("grades", grades);
}

但是好像报错了,说不是参数类型。我检查了文档,我唯一能做的就是添加一个 String 类型的数组。

const Aws::Utils::Array<Aws::String> grades;
grades[0] = "87";
grades[1] = "95";
grades[2] = "65";
jsonValue.WithArray("grades", grades);

现在可以了。如何将其存储为双精度或整数而不是字符串?

好的,已收到 AWS SDK 团队的回复。可以这样做:

Aws::Utils::Array<Aws::Utils::Json::JsonValue> grades(2);
Aws::Utils::Json::JsonValue value1;
Aws::Utils::Json::JsonValue value2;
grades[0] = value1.AsDouble(3.1416);
grades[1] = value2.AsDouble(164635242.4134452);

来源:https://github.com/aws/aws-sdk-cpp/issues/1526