加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 将http_params转换为哈希

发布时间:2020-12-17 01:25:46 所属栏目:百科 来源:网络整理
导读:我可以从字符串中获取一个数组 http_params="created_end_date=2013-02-28created_start_date=2013-01-01page_size=50offset=0order_id=0D1108211501118%0D%0A0D11108211501118%0D%0Ac%0D%0AD%0D%0ADK212071409743%0D%0AKK30109110100%0D%0AKK30111140300%0D
我可以从字符串中获取一个数组

http_params="created_end_date=2013-02-28&created_start_date=2013-01-01&page_size=50&offset=0&order_id=0D1108211501118%0D%0A0D11108211501118%0D%0Ac%0D%0AD%0D%0ADK212071409743%0D%0AKK30109110100%0D%0AKK30111140300%0D%0AKK30111140400%0D%0AKK30115120100%0D%0AKK30115150100&page_number=1"

所以我做了myarray = http_params.split(“&”):

myarray=["created_end_date=2013-02-28","created_start_date=2013-01-01","page_size=50","offset=0","order_id=0D1108211501118%0D%0A0D11108211501118%0D%0Ac%0D%0AD%0D%0ADK212071409743%0D%0AKK30109110100%0D%0AKK30111140300%0D%0AKK30111140400%0D%0AKK30115120100%0D%0AKK30115150100","page_number=1"]

我需要将其转换为哈希myhash,以便我可以为myhash.to_json进行Rest Client调用.基本上它应该是关键的,价值对,如:

{:created_end_date=>"2013-02-28",:created_start_date=>"2013-01-01"....}

我知道逆操作可以像这样完成:

http_params = myhash.map{|k,v| "#{k}=#{v}"}.join('&')

但是我无法为此提出整洁的代码.

我应该采取什么样的最佳方式?

解决方法

require 'cgi'
hash = CGI::parse http_params

或者您可以使用:

hash = Rack::Utils.parse_nested_query http_params

哪个不会将值作为数组返回.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读