进行 json 解析时,若以 interface{} 接收数据,则会按照下列规则进行解析:
bool, for JSON booleans
float64, for JSON numbers # 这是由于JSON 里的数字默认都会转成 golang 的 float64 类型引起的
string, for JSON strings
[]interface{}, for JSON arrays
map[string]interface{}, for JSON objects
nil for JSON null
而浮点数打印时的默认规则是超过一定长度后会换成科学计数法打印,在打印时指定打印格式 或者 转换为整数打印
id := int(result["id"].(float64))
name := result["name"].(string)
dict := result["dict"].(map[string]interface{})