如何在Golang中将字符串转换为map [int] string

I stuck with a problem convert string to map. I've got next data from url

map[
start:0 
draw:1 
length:10 
_:1475090278299 
search[value]:
search[regex]:false 
order[0][dir]:asc 
order[0][column]:0 

columns[0][orderable]:true
columns[0][searchable]:true  
columns[0][search][value]: 
columns[0][search][regex]:false 
columns[0][data]:name 
columns[0][name]: 

columns[1][orderable]:true
columns[1][searchable]:true 
columns[1][search][value]: 
columns[1][search][regex]:false 
columns[1][data]:slug 
columns[1][name]: 

columns[2][orderable]:true 
columns[2][searchable]:true 
columns[2][search][value]:
columns[2][search][regex]:false 
columns[2][data]:status
columns[2][name]: 

columns[3][orderable]:true
columns[3][searchable]:true 
columns[3][search][value]: 
columns[3][search][regex]:false 
columns[3][data]:created_at
columns[3][name]: 
]

I can get these values start:0, draw:1, length:10. But also I want to get columns and orders as a map[int]string not as a string.

If the above is the raw input it might make more sense to have some structs, ie: https://play.golang.org/p/Wy4dsxorXw