gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 07:48:19 28 4
gpt4 key购买 nike

我可以从字符串中获取一个数组

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 post 调用。基本上它应该是键值对,例如:

{: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

它不会将值作为数组返回。

关于ruby-on-rails - 将 http_params 转换为哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15549565/

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