在Go语言中,可以使用标准库中的 encoding/json 包来将 JSON 数据解析为 Go 中的结构体。
下面是一个简单的示例代码,演示了如何从 JSON 文件中读取数据并将其解析为结构体:
package mainimport ("encoding/json""fmt""os"
)type Person struct {Name string `json:"name"`Age int `json:"age"`
}func main() {// 打开 JSON 文件file, err := os.Open("person.json")if err != nil {fmt.Println(err)return}defer file.Close()// 从文件中读取 JSON 数据decoder := json.NewDecoder(file)var person Personerr = decoder.Decode(&person)if err != nil {fmt.Println(err)return}// 输出读取到的数据fmt.Println("Name:", person.Name)fmt.Println("Age:", person.Age)
}
在上面的代码中,我们定义了一个 Person 结构体,它具有 Name 和 Age 两个字段,并且在结构体的定义中使用了 json 标签,以便让编码/解码器知道如何将 JSON 数据映射到 Go 结构体中的字段。
然后,我们打开 person.json 文件并使用 json.NewDecoder 创建了一个 JSON 解码器。我们使用 decoder.Decode 将 JSON 数据解码到 Person 结构体中,这里我们需要传入结构体的地址。最后,我们输出了解码后的数据。