0

我将以下字符串解析为 JSON 并作为发布请求发送。不知道最好的方法是什么:

start=0&page_length=50&exclude_vehicle_category=%5B%5D&toll_non_toll=false&mode=%22detail_state_mileage_report%22&scope_kind=%22enterprise_group%22&scope_value=4317&scope_values=%7B%22enterprise_group%22%3A%204317%7D&start_date2=%7B%20%2s %22%2C%20%22snap_direction%22%3A%20%22beginning%22%7D&end_date=%7B%7D&time_zone=%22EST%22&columns=%5B%22GROUPNAME%22%2C%20%22VEHICLEID%22%2C%20% 22VEHICLENAME%22%2C%20%22VEHICLETAG%22%2C%20%22VEHICLE_VIN%22%2C%20%22TOTAL_DISTANCE_DRIVEN%22%2C%20%22TOTAL_DISTANCE_DRIVEN_OH%22%5D&coloring=%5B%5D&sort=%5B%5B%22NAME% 22%2C%20false%5D%2C%20%5B%22VEHICLEID%22%2C%20false%5D%5D

4

2 回答 2

2

s包含你的字符串:

hash = {}   
s.split("&").each do |key_value|
  key, value = key_value.split("=")
  hash[key.to_sym] = value
end
hash.to_json
于 2011-12-09T19:16:51.183 回答
0
Rack::Utils.parse_query(s)
=> {"start"=>"0",
    "page_length"=>"50",
    "exclude_vehicle_category"=>"[]",
    "toll_non_toll"=>"false",
    "mode"=>"\"detail_state_mileage_report\"",
    "scope_kind"=>"\"enterprise_group\"",
    "scope_value"=>"4317",
    "scope_values"=>"{\"enterprise_group\": 4317}",
    "start_date"=>"{\"snap_unit\": \"day\", \"snap_direction\": \"beginning\"}",
    "end_date"=>"{}",
    "time_zone"=>"\"EST\"",
    "columns"=>"[\"GROUPNAME\", \"VEHICLEID\", \"VEHICLENAME\", \"VEHICLETAG\", \"VEHICLE_VIN\", \"TOTAL_DISTANCE_DRIVEN\", \"TOTAL_DISTANCE_DRIVEN_OH\"]",
    "coloring"=>"[]",
    "sort"=>"[[\"GROUPNAME\", false],[\"VEHICLEID\", false]]"
   } 
于 2011-12-09T19:50:33.683 回答