2016-07-02 15 views
1

この形式の広範な検索URLを作成しようとしていますが、この文字列を実際の配列に変換する方法はわかりません地図/スライス、またはループできるもの)。多次元配列形式のクエリ文字列を実際の配列に構文解析する

私は多くのドキュメントを読んで、Googleで検索しましたが、これを行う良い方法が見つかりません。

+0

あなたは['net/url.Values'](https://godoc.org/net/url#Values)を探しています。 –

+0

hmm lemme試してみてください、私は間違っているかもしれませんが、私は間違っているかもしれません。 –

+0

@TimCooper申し訳ありませんがあなたの提案が配列に私の文字列を変換する方法を参照してください。 –

答えて

0

あなたfilterが未知の長さであることを行っている場合は、そのような解析されたクエリに及ぶ可能性:

https://play.golang.org/p/NSQ7bnJXef

v, err := url.ParseQuery("filter[1][field]=brandid&filter[1][operand]=>&filter[1][values][]=firstvalue&filter[2][field]=brandid&filter[2][operand]=>&filter[2][values][]=firstvalue") 
    if err != nil { 
     fmt.Println(err) 
     return 
    } 
    for id, thing := range v { 
     switch { 
     case strings.Contains(id, "field"): 
      log.Printf("Field Value: %v", thing) 
     case strings.Contains(id, "values"): 
      log.Printf("Values Value: %v", thing) 
     case strings.Contains(id, "operand"): 
      log.Printf("Operand Value: %v", thing) 
     } 
    } 

をしかし、IMO、クエリを行うよりも良い方法が存在しなければなりませんあなたは今やっている。

+0

私は最終結果がループし、 'brandid == firstvalue'を作る多次元マップを望みます –

関連する問題