我在Go Fiber中内置了一个API。我尝试将请求体数据动态解析为键值对。
正如我们所知,fiber有context.Body()
和context.Bodyparser()
方法来做这件事,但我找不到任何合适的例子来动态地用这些方法做这件事。
例如:
func handler(c *fiber.Ctx) error {
req := c.Body()
fmt.Println(string(req))
return nil
}
产出:
key=value&key2=value2&key3&value3
我想要的是一个动态的JSON:
{
key:"value",
key2:"value2",
key3:"value3",
}
1条答案
按热度按时间yzuktlbb1#
内容的mime-type是
application/x-www-form-urlencoded
而不是application/json
。要解析它,可以使用net/url.ParseQuery
。结果是一个map[string][]string
,然后您可以轻松地将其转换为map[string]string
,然后使用encoding/json
包将其编组以获得所需的JSON输出。这里有一个代码,你可以开始: