将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 

{}

回答:

您需要导出的User.name字段,以便在json包装可以看到它。将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"}

以上是 将Go结构转换为JSON 的全部内容, 来源链接: utcz.com/qa/408847.html

回到顶部