在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字符串之間轉換的方法。需要注意的是,結構體中的字段名必須是首字母大寫的,否則無法進行轉換。