如何列出 Gorilla Mux 中的所有变量?

How to list all variables in Gorilla Mux?

当您在 Golang 中创建 funcHandler 并使用 Gorilla Mux 时,我知道您可以通过调用 Mux.Vars 来访问特定的输入变量。但是,当您以 JSON 格式存储数据时,我不确定它是如何工作的,部分原因是我不确定 Mux.Vars() 是如何工作的。所以,我想知道如何在输入 funcHandler 时列出 Mux.Vars() 存储的所有变量,以及如何解析存储在 URL 中的 JSON(即 /data? name="bill"&value="red",我想在其中找到 name 和 value 键的值)。

对于列出所有 Gorilla Mux:

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

Vars 函数 return 一个 mapfor range 循环帮助您阅读我展示给您的所有项目。
但我认为你的问题有点不同,如果你想读取 JSON 数据或随请求发送的其他数据,你需要读取请求正文 (req.Body)。请注意,请求主体是一个 Reader 接口而不是字符串。如果您希望输入 JSON 格式的示例:
Handling JSON Post Request in Go