我是新来Golang,我试图让从JSON的值,将它转换成int诠释,但它不工作。不知道如何正确地做到这一点。转换接口{}在Golang
以下是错误消息:
...cannot convert val (type interface {}) to type int: need type assertion
,代码:
var f interface{}
err = json.Unmarshal([]byte(jsonStr), &f)
if err != nil {
utility.CreateErrorResponse(w, "Error: failed to parse JSON data.")
return
}
m := f.(map[string]interface{})
val, ok := m["area_id"]
if !ok {
utility.CreateErrorResponse(w, "Error: Area ID is missing from submitted data.")
return
}
fmt.Fprintf(w, "Type = %v", val) // <--- Type = float64
iAreaId := int(val) // <--- Error on this line.
testName := "Area_" + iAreaId // not reaching here
任何帮助,将不胜感激。
很好的答案!语言规范始终是寻找答案的最佳地点! –
谢谢。这是一个美丽的答案。 – Muktadir
不是JSON输入的正确答案。见下文。 – Liam