我有以下字符串要解析为JSON并作为post请求发送。不确定最好的方法是什么:
开始= 0&安培; page_length = 50&安培; exclude_vehicle_category =%5B%5D&安培; toll_non_toll =假安培;模式=%22detail_state_mileage_report%22安培; scope_kind =%22enterprise_group%22安培; scope_value = 4317&安培; scope_values =%7B%22enterprise_group%22%3A %204317%7D&安培;起始日期=%7B%22snap_unit%22%3A%20%22天%22%2C%20%22snap_direction%22%3A%20%22beginning%22%7D&安培; END_DATE =%7B%7D&安培; TIME_ZONE =% 22EST%22安培;柱=%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&安培;着色=%5B%5D&安培;排序=%5B%5B%22GROUPNAME%22%2C%20false%5D%2C%20%5B%22VEHICLEID%22%2C%20false %5D%5D
答案 0 :(得分:2)
说s
包含您的字符串:
hash = {}
s.split("&").each do |key_value|
key, value = key_value.split("=")
hash[key.to_sym] = value
end
hash.to_json
答案 1 :(得分: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]]"
}