在Go中结构化JSON对象 - 结果为空

时间:2015-09-07 12:04:27

标签: json struct go

我正在尝试将Go中的json对象解组为struct。我试图坚持this example,但我无法让它发挥作用。结果保持空白。

代码:

package main

import (
    "encoding/json"
    "fmt"
)

type MyObject struct {
    id     string
    pubKey string
}

func main() {
    x := `{"id":"abc","pubKey":"QIDAQAB"}`
    fmt.Println("Input: ", x)

    var myObject MyObject
    json.Unmarshal([]byte(x), &myObject)

    fmt.Println("Output: ", myObject)
}

输出:

Input:  {"id":"abc","pubKey":"QIDAQAB"}
Output:  { }

Playground

我发现了lot of similar个问题,但我甚至看不到工作示例和我的非工作代码之间的区别。我错过了什么?

1 个答案:

答案 0 :(得分:1)

要导出Marshal或Unmarshal 的结构字段必须 看看:http://blog.golang.org/json-and-go

  

json包只访问struct类型的导出字段   (那些以大写字母开头的)。因此只有   结构的导出字段将出现在JSON输出中。

工作样本: Go playground