2015-10-19 26 views
-2

當你在Golang中創建一個funcHandler並使用Gorilla Mux時,我知道你可以通過調用Mux.Vars來訪問一個特定的輸入變量。但是,我不確定在以JSON格式存儲數據時這是如何工作的,其中一部分原因是我不確定Mux.Vars()如何工作。所以,我想知道當你輸入funcHandler時如何列出所有由Mux.Vars()存儲的變量,以及如何解析存儲在URL中的JSON(即/ data?name =「bill」& value =「red 「,我想在其中找到名稱和值鍵的值)。如何列出Gorilla Mux中的所有變量?

+3

如果在'/ data?name =「bill」&value =「red」中應該隱藏某些JSON?簡單解析URL會出現什麼問題? – Volker

+1

'mux.Vars'是當你使用gorilla/mux的URL參數綁定。如果你想分析查詢字符串參數,你可以使用https://golang.org/pkg/net/http/#Request.FormValue或'request.URL'和'net/url'來解析它們。 – elithrar

回答

0

對於列表中的所有大猩猩複用:

for k, v := range mux.Vars(request) { 
    log.Printf("key=%v, value=%v", k, v) 
} 

Vars函數返回你讀的所有項目一個mapfor range循環幫助像我告訴你。
但我認爲你的問題有點不同,如果你想讀取JSON數據或其他孩子的數據與請求一起發送,你需要閱讀請求體(req.Body)。請注意,請求Body是一個Reader接口,而不是一個字符串。例如,如果您期望以JSON格式輸入:
Handling JSON Post Request in Go

相關問題