1

我想使用 Aws-sdk for C++ 创建一个 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);
}

但似乎它抛出了一个错误,说它不是参数类型。我检查了文档,我唯一能做的就是添加一个字符串类型的数组。

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

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

4

1 回答 1

0

好的,得到了​​ AWS 开发工具包团队的回复。可以这样做:

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

于 2020-12-02T16:49:13.927 回答