js?:=?`{"int":1,"string":"qwertyuiop","float":1.111}`
jsm?:=?make(map[string]interface{})
err?:=?json.Unmarshal([]byte(js),?&jsm)
數(shù)值類型?會全部解析為?float64類型 而不會按照原來的整數(shù)int 類型
如上述代碼中 key為 int 和 float 等數(shù)值類型的值,都將解析為 float64。
fork,v?:=?range?jsm?{? ??
????switch?vType?:=?v (type)?{
????case int:?fmt.Println("int",k,strconv.Itoa(vType))
????case string:fmt.Println("string",k,vType)
????case float32?:fmt.Println("float32",k,strconv.FormatFloat(float64(vType),'f',2,64))
????case float64:fmt.Println("float64",k,strconv.FormatFloat(vType,'f',2,64))????
????}
}
輸出為:
string string qwertyuiop
float64 float 1.11
float64 int 1.00