将Go结构转换为JSON

我正在尝试使用该json包将Go结构转换为JSON,但我得到的只是{}。我敢肯定这是完全显而易见的,但我看不到。


package main


import (

    "fmt"

    "encoding/json"

)


type User struct {

    name string

}


func main() {

    user := &User{name:"Frank"}

    b, err := json.Marshal(user)

    if err != nil {

        fmt.Printf("Error: %s", err)

        return;

    }

    fmt.Println(string(b))

}

然后,当我尝试运行它时,我得到以下信息:


$ 6g test.go && 6l -o test test.6 && ./test 

{}


阿晨1998
浏览 317回答 3
3回答

凤凰求蛊

结构值编码为JSON对象。每个导出的struct字段都将成为对象的成员,除非:该字段的标签为“-”,或者该字段为空,并且其标签指定“ omitempty”选项。空值为false,0,任何nil指针或接口值以及任何长度为零的数组,切片,映射或字符串。对象的默认键字符串是struct字段名称,但可以在struct字段的标记值中指定。struct字段的标记值中的“ json”键是键名,后跟可选的逗号和选项。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go