我有两个相关的问题,我不想为这两个问题打开一个新线程:
给定以下代码:
1 type Request struct {
2 Values map[string]interface{}
3 }
4
5 func (r Request) Send() {
6 client := &http.Client{}
7 resp, _ := http.Post("http://example.com", "text/json", &r.Values)
8 }
这个想法是能够向我们的 API 端点发送一个未知数量的块key => value
,key => key => value
等等。
问题一:
我该如何分配Request.Values
?我们可能需要使用的示例用例如下(请原谅 PHP 代码,我们正在转换):
'name' => [ $first, $last ],
'address' => [ 'city' => 'city', 'state' => 'state' ],
'country' => 'US'
在这个例子中,我们有key => value
, key => [ values ]
, 和key => [ key => value ]
我怎样才能接受它并将完全相同的值分配给Request.Values
?
问题2:
显然Values
是 type map[string]interface{}
,如何将其转换为 typeio.Reader
以便将值发送到服务器?
非常感谢您对这两个问题的任何指导。