"[1, 2, 3, 4-6ren">
gpt4 book ai didi

ruby - 将散列的键和值转换为字符串

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:47 24 4
gpt4 key购买 nike

我需要将散列的值和键转换为字符串,以便正确地将其准备为 Net::HTTP.post_form 的参数。例如:

我需要转换

{:x => [1,2,3,4]}

{"x"=>"[1, 2, 3, 4]"}

重要的是将符号转换为字符串并且数组用引号括起来。

  • to_json 返回一个字符串并没有解决我的问题;我需要一个哈希值作为返回值。
  • 散列可能有更多键和值,所以我不能将 to_s 硬编码到每个键或值。

我该如何执行?

最佳答案

这个呢

Hash[ { :x => [1,2,3,4] }.map { |k, v| [k.to_s, v.to_s] } ]
#=> {"x"=>"[1, 2, 3, 4]"}

或者在 Ruby >= 2.1 上

{ :x => [1,2,3,4] }.map { |k, v| [k.to_s, v.to_s] }.to_h
#=> {"x"=>"[1, 2, 3, 4]"}

或者在 Ruby >= 2.6 上

{ :x => [1,2,3,4] }.to_h { |k, v| [k.to_s, v.to_s] }
#=> {"x"=>"[1, 2, 3, 4]"}

关于ruby - 将散列的键和值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com