Json 如何使用url.Values为api请求生成深度嵌套的字段?
使用url包,可以创建一些数据以发送api请求,如so(): 我的问题是,如何发送嵌套的json值? 比如:Json 如何使用url.Values为api请求生成深度嵌套的字段?,json,go,Json,Go,使用url包,可以创建一些数据以发送api请求,如so(): 我的问题是,如何发送嵌套的json值? 比如: form.Add("ln", {"nestedKey": nestedvalue}) 这可能吗?如何发送嵌套值? 更一般地说,如何在请求中发送json正文?以下是一种方法: package main import ( "bytes" "encoding/json" "net/h
form.Add("ln", {"nestedKey": nestedvalue})
这可能吗?如何发送嵌套值?
更一般地说,如何在请求中发送json正文?以下是一种方法:
package main
import (
"bytes"
"encoding/json"
"net/http"
)
type m map[string]interface{}
func main() {
form := m{
"ip": "value2", "ua": "value3", "ln": m{"nestedKey": "nestedValue"},
}
b := new(bytes.Buffer)
json.NewEncoder(b).Encode(form)
http.Post("https://stackoverflow.com", "application/json", b)
}
您需要通过http的第3个参数发送请求正文。NewRequest。application/x-www-form-urlencoded没有嵌套密钥。您可以将该值添加到JSON[]字节,然后将该值添加到表单:
form.add(“ln”,string(jsonDoc))
。
package main
import (
"bytes"
"encoding/json"
"net/http"
)
type m map[string]interface{}
func main() {
form := m{
"ip": "value2", "ua": "value3", "ln": m{"nestedKey": "nestedValue"},
}
b := new(bytes.Buffer)
json.NewEncoder(b).Encode(form)
http.Post("https://stackoverflow.com", "application/json", b)
}