普通にブラケットでアクセスするかdigしたほうがいい気がするが
どうしてもドットでアクセスしたいなら再帰的にOpenStructに変換する

data = JSON.parse(data.to_json, object_class: OpenStruct)
data.metadata.commission
#=> "2"