LINUX.ORG.RU

golang: HTTP; Массивы

 


0

0

Собственно, как с этим работать?

url.Values{
    "a[0]":[]string{"Aborted"}, 
    "a[1]":[]string{"Aborted"}, 
    "b[0]":[]string{"The Purity Of Perversion"}, 
    "b[1]":[]string{"The Purity Of Perversion"}, 
    "t[0]":[]string{"Act Of Supremacy"}, 
    "t[1]":[]string{"The Lament Configuration"}, 
    "l[0]":[]string{"163"}, 
    "l[1]":[]string{"288"}, 
    "i[0]":[]string{"1443312816"}, 
    "i[1]":[]string{"1443313660"}, 
    "m[0]":[]string{""}, 
    "m[1]":[]string{""}, 
    "o[1]":[]string{"P"}, 
    "o[0]":[]string{"P"}, 
    "n[0]":[]string{"02"}, 
    "n[1]":[]string{"03"}
    "r[0]":[]string{""},  
    "r[1]":[]string{""}, 
    "s":[]string{"61aad7f97b2785bacd5d0d595e336e33"}, 
}
Нет, конечно я могу накостылять кое-что, что позволит получить данные в нормальном виде типа "a": []string{"A1", "A2"}, но разве этого не должно быть из коробки? Спрашивается, зачем тогда используются массивы, если в любом случае там оказывается один элемент.

★★★★★

Вообщем юзать нужно так: https://play.golang.org/p/GJsEtEeins

package main

import "fmt"
import "net/url"

func main() {
	var request, request_err = url.Parse("http://google.ru?a=1&a=2&b=3")
	if request_err != nil {
		panic(request_err)
	}

	var query, query_err = url.ParseQuery(request.RawQuery)
	if query_err != nil {
		panic(query_err)
	}

	fmt.Println(query["a"])
}
quest ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.