将Go结构转换为JSON
我正在尝试使用该json
包将Go结构转换为JSON,但我得到的只是{}
。我敢肯定这是完全显而易见的,但我看不到。
package mainimport (
"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
。
package mainimport (
"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"}
以上是 将Go结构转换为JSON 的全部内容, 来源链接: utcz.com/qa/408847.html