ฉันกำลังพยายามหาค่าจาก JSON และแคสต์เป็น int แต่ไม่ได้ผลและฉันไม่รู้ว่าจะทำอย่างไรให้ถูกต้อง
นี่คือข้อความแสดงข้อผิดพลาด:
...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