我正在尝试使用该json包将Go结构转换为JSON,但我得到的只是{}。我敢肯定这是完全显而易见的,但我看不到。
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 {}
您需要导出的User.name字段,以便在json包装可以看到它。将name字段重命名为Name。
User.name
name
Name
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.Println(err) return } fmt.Println(string(b)) }
输出:
{"Name":"Frank"}