DynamoDB 以 Ruby 中的小数形式返回数字而不是整数

DynamoDB returning Numbers as decimals not integers in Ruby

我在地图中存储了一些数字。它们设置正确,并正确显示在 DynamoDB 界面中:

results List [1]
    0 Map
        dateTimeCompleted Number : 1554138543
        questionsAnswered Number : 10
        questionsCorrect Number : 5

但是,当我使用 AWS Ruby SDK 得到响应时,它们变成了小数。

"dateTimeCompleted"=>0.1554376141e10,
"questionsAnswered"=>0.2e2,
"questionsCorrect"=>0.5e1

注意这不是同一个项目,所以我知道数字不匹配,格式是问题。

如何告诉 SDK 我希望它们是整数?

我需要自己将 Ruby 中的它们映射到整数吗?

使用to_i:

0.1554376141e10.to_i # => 1554376141

要转换哈希中的所有值:

my_hash.reduce({}) { |memo, (k,v)| memo[k] = v.to_i; memo }

或:

my_hash.transform_values(&:to_i)