从字节解码 JSON 数据,将 float 值更改为 int

以下代码从字节数组中解组 json 数据,将浮点值的类型更改为 int。


package main


import (

    "encoding/json"

    "fmt"

)


func main() {

    byt := []byte(`{"num":6.0}`)

    var dat map[string]interface{}

    fmt.Println(byt)


    if err := json.Unmarshal(byt, &dat); err != nil {

        panic(err)

    }

    fmt.Println(dat)

}

这是游乐场链接:https://go.dev/play/p/60YNkhIUABU


无论如何要保持类型不变?


慕容708150
浏览 76回答 1
1回答

蛊毒传说

未编组的号码已经是float64. 您可以通过在 playground 示例的末尾添加一行来打印数据类型来检查这一点:fmt.Printf("%T\n", dat["num"])如果你想让它更明确,你可以尝试将datfrom的类型更改map[string]interface{}为map[string]float64.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go