在Golang中,使用json.Marshal()函数可以将结构体对象转换为JSON格式的字符串,而使用json.Unmarshal()函数可以将JSON格式的字符串转换为结构体对象。下面将详细介绍如何使用这两个函数。
首先,我们定义一个结构体类型:
type Person struct {
Name string
Age int
Address string
}接下来,我们定义一个Person对象:
person := Person{
Name: "Alice",
Age: 18,
Address: "Beijing",
}将Person对象转换为JSON字符串:
jsonBytes, err := json.Marshal(person)
if err != nil {
fmt.Println("JSON marshal failed:", err)
return
}
jsonString := string(jsonBytes)
fmt.Println("JSON string:", jsonString)将JSON字符串转换为Person对象:
jsonString := `{"Name":"Bob","Age":20,"Address":"Shanghai"}`
var person Person
err := json.Unmarshal([]byte(jsonString), &person)
if err != nil {
fmt.Println("JSON unmarshal failed:", err)
return
}
fmt.Printf("Name: %s\nAge: %d\nAddress: %s\n", person.Name, person.Age, person.Address)以上就是使用Golang进行对象和JSON字符串之间转换的方法。需要注意的是,结构体中的字段名必须是首字母大写的,否则无法进行转换。