GoLang Sruct到JSON没有转换

时间:2015-11-25 08:33:35

标签: json struct go

我正在尝试转换我的结构" 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))
}

1 个答案:

答案 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))
}

Playground

JSON serialization in GO