我可以从字符串转换http_params哈希
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,这样我可以做一个Rest客户端发送myhash.to_json调用。基本上,它应该是键,值对喜欢:
{:created_end_date=>"2013-02-28",:created_start_date=>"2013-01-01"....}
我知道,反向操作可以这样做:
http_params = myhash.map{|k,v| "#{k}=#{v}"}.join('&')
,但我无法想出这个整洁的代码。
我应该怎么做这个最好的方法是什么?
就是这样?真的很简单。 :-) – 2013-03-21 14:05:18
键是字符串,但由于某些原因,这些值会变成单个元素数组:“{”created_end_date“=> [”2013-02-28“],”created_start_date“=> [”2013-01-01“ ],...}'。我想知道为什么。 – Mischa 2013-03-21 14:06:24
我想知道同样的事情....当我做hash.to_json时,我得到{\“created_end_date \”:[\“2013-02-28 \”] ...} – 2013-03-21 14:12:03