我正在尝试转换我的结构" Sim"在填充数据之后进入JSON。
当我打印var时,它会显示正确的信息,当我打印数据时,它显示为空白。
如何将Struct转换为JSON?
以下代码缩减:
type Sim struct {
yr, ag, av, db, wd, st []int
withdrawal []string
}
func main() {
// Creating simulation
var s Sim
// Filling with data
s = simulate(15000, 60, 65, 90, 2015, 10.0, 140000.0, true, s)
// Converting to JSON, for transmission over web
data, err := json.Marshal(s)
if err != nil {
fmt.Println(err)
return
}
// Data is correct
fmt.Println(s)
// Prints: {}
fmt.Println(string(data))
}
答案 0 :(得分:1)
结构中的字段以小写字母开头,因此它们不会编组为JSON。让它们以大写字母开头。
package main
import "encoding/json"
import "fmt"
type Sim struct {
Yr, Ag, Av, Db, Wd, St []int
Withdrawal []string
}
func main() {
// Creating simulation
var s Sim
// Converting to JSON, for transmission over web
data, err := json.Marshal(s)
if err != nil {
fmt.Println(err)
return
}
// Data is correct
fmt.Println(s)
// Prints: {}
fmt.Println(string(data))
}