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);
我想使用适用于 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);