登录
首页 >  Golang >  Go问答

使用golang的json库将整数转换为浮点数,在json中进行操作的方法有哪些?

来源:stackoverflow

时间:2024-02-10 12:48:19 440浏览 收藏

你在学习Golang相关的知识吗?本文《使用golang的json库将整数转换为浮点数,在json中进行操作的方法有哪些?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

这是我的代码。我正在读取 json 文件,并希望将值插入到我的全局变量模式中。

jsonFile, err := os.Open("config.json")
if err != nil {
    log.Fatal(err)
    return err
}
//byteValue, _ := ioutil.ReadAll(jsonFile)

var responseJson map[string]interface{}
/*if err := json.NewDecoder(jsonFile).Decode(&responseJson); err != nil {
    log.Fatal(err)
    return err
}*/
d := json.NewDecoder(jsonFile)
d.UseNumber()
d.Decode(&responseJson)
mode = responseJson["mode"].(int)

正确答案


带转换的类型断言:

var json_file = bytes.newreader([]byte(`{"mode":1234}`))

func main() {
    var responsejson map[string]interface{}
    d := json.newdecoder(json_file)
    if err := d.decode(&responsejson); err != nil {
        panic(err)
    }
    mode := int(responsejson["mode"].(float64))
    fmt.println(mode)
}

使用 json.number 进行类型断言

var json_file = bytes.newreader([]byte(`{"mode":1234}`))

func main() {
    var responsejson map[string]interface{}
    d := json.newdecoder(json_file)
    d.usenumber()
    if err := d.decode(&responsejson); err != nil {
        panic(err)
    }
    i64, err := (responsejson["mode"].(json.number)).int64()
    if err != nil {
        panic(err)
    }
    mode := int(i64)
    fmt.println(mode)
}

带有结构:

var json_file = bytes.NewReader([]byte(`{"mode":1234}`))

func main() {
    var responseJson struct{ Mode int }
    d := json.NewDecoder(json_file)
    if err := d.Decode(&responseJson); err != nil {
        panic(err)
    }
    fmt.Println(responseJson.Mode)
}

好了,本文到此结束,带大家了解了《使用golang的json库将整数转换为浮点数,在json中进行操作的方法有哪些?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>