Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 15940

In Golang trying to deserialize to struct in golang

$
0
0

Actually Iam trying to fetch the data from the sql server (particular table), my expectation is to deserialize the data fetched from the sql server to struct in GoLang.

Declared the struct below

type TrnVmSeries struct {    VmCode   sql.NullString    IsHidden sql.NullBool    Cores    sql.NullInt32    Ram      sql.NullFloat64}
func ReadSqlData() {    var con *sql.DB = SqlConnection()    defer CloseConnection(con)    var resObj []model.TrnVmSeries    rows, err := con.Query("select * from testGo")    if err != nil {        fmt.Println("Error executing query:", err.Error())    }    for rows.Next() {        var vm model.TrnVmSeries        if err := rows.Scan(&vm.VmCode, &vm.IsHidden, &vm.Cores, &vm.Ram); err != nil {            fmt.Println(err)        }        resObj = append(resObj, vm)    }    jsonData, err := json.Marshal(resObj)    if err != nil {        fmt.Println(err)    }    fmt.Printf("Json serialized Data %v", string(jsonData))    fmt.Println("Object Output", resObj[0])}

I have tried this getting below output

`[{"VmCode": {"String":"","Valid":false},"IsHidden":{"Bool":false,"Valid":true},"Cores":{"Int32":0,"Valid":true},"Ram":{"Float64":10,"Valid":true}

}]`

But whats my expectation is below

[ { "VmCode": null, "IsHidden": false "Cores": 0 "Ram": 10 } ]

I don't know how to achieve this some one please help me on this. To get expected object. Also attached SQL table stucture


Viewing all articles
Browse latest Browse all 15940

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>