为什么golang没有编组json对象?

时间:2017-10-31 03:08:58

标签: json go

我想知道为什么以下没有成功地对json进行编组?我试图用一个非常简单的例子来学习json包。

package main

import (
    "encoding/json"
    "fmt"
)

type Message struct {
    username string `json:"name"`
    message  string `json:"message"`
}

func main() {
    var m = Message{
        username: "hello",
        message:  "world",
    }

    js, _ := json.Marshal(m)

    fmt.Println(m)
    fmt.Println(string(js))
}

1 个答案:

答案 0 :(得分:1)

username
message

以小写字母开头,意味着它们未被导出(认为是私有的),因此encoding/json包不可见。您需要导出字段,或实施MarshalJSON() ([]byte, error)方法并自行完成。