我正在尝试创建具有以下结构的json文件:[ { "targets": [ "aaaa", "bbbb" ], "labels": { "env": "dev", "job": "cadvisor" } }]到目前为止,我已经定义了两个结构:type Label struct { Job string `json:"job"` Env string `json:"env"`}type Target struct { Targets []string `json:"targets"` Labels Label `json:"labels"`}但是当我执行 POST 请求时,我收到一个错误:.json: cannot unmarshal string into Go struct field Target.targets of type []string这是我用来从POST请求中获取json数据的函数:func addNewTarget(w http.ResponseWriter, r *http.Request) { //define new struct to hold new json from POST request var t Target err := json.NewDecoder(r.Body).Decode(&t) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return }}我真的不明白我在这里做错了什么。我假设这与我附加到未在任何地方初始化的切片有关,但说实话,我不知道如何做到这一点。任何人都可以给我一些指示吗?这是我正在使用的卷曲:curl --header "Content-Type: application/json" -X POST -d '{"targets":"localhost", "labels": { "job": "job1", "env":"prod"}}'
1 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
正如Burak所评论的那样,你的卷曲命令不应该是...
curl --header "Content-Type: application/json" -X POST -d '{"targets":["localhost"], "labels": { "job": "job1", "env":"prod"}}'
- 1 回答
- 0 关注
- 73 浏览
添加回答
举报
0/150
提交
取消