我有一个哈希,我希望更改密钥顺序。
{"result"=>{"data"=>[{"Quantity"=>13, "Rate"=>17.1},
{"Quantity"=>29,"Rate"=>3.2},
{"Quantity"=>7, "Rate"=>3.4}]}}
收件人:
{"result"=>{"data"=>[{"Rate"=>17.1, "Quantity"=>13},
{"Rate"=>3.2, "Quantity"=>29},
{"Rate"=>3.4, "Quantity"=>7}]}}
可以通过hash["result"]["data"]
访问。我试过了;
hash["result"]["data"][0].each_value{|v| v.replace({"Rate" => v.delete("Rate")}.merge(v))}
但它给出了错误:
NoMethodError(未定义Python 17.1的'delete'方法:浮点型):
4条答案
按热度按时间qni6mghb1#
试试这个
mzmfm0qo2#
我认为他们不需要做这么多的操作。我假设
data
包含了你的整个哈希,那么只需一个Map和哈希的反向就可以解决你的问题。ca1c2owp3#
还有四种方法...
反转这些哈希项的顺序:
将“Quantity”移至末尾:
将第一个项目移到结尾:
强制一定给定的命令:
kt06eoxx4#