[go] 구조체(struct)를 JSON 형식으로 직렬화(Serialization)
구조체(struct)를 JSON 형식으로 직렬화(Serialization)하는 것은 많은 프로그래밍 언어에서 자주 사용되는 작업입니다. JSON은 데이터를 저장하고 교환하기 위한 가벼운 형식으로 널리 사용되고 있습니다. Go 언어에서는 encoding/json 패키지를 사용하여 구조체를 JSON으로 직렬화할 수 있습니다.
encoding/json 패키지
Go 언어에서 제공하는 encoding/json 패키지는 JSON 형식으로 데이터를 인코딩하고 디코딩할 수 있는 기능을 제공합니다. 이 패키지를 사용하여 구조체를 JSON으로 직렬화할 수 있습니다.
예제 코드
아래는 구조체를 JSON으로 직렬화하는 예제 코드입니다.
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Address string `json:"address"`
}
func main() {
person := Person{
Name: "John",
Age: 30,
Address: "123 Main St",
}
jsonData, err := json.Marshal(person)
if err != nil {
fmt.Println("Error marshaling JSON:", err)
return
}
fmt.Println(string(jsonData))
}
위의 코드에서는 Person이라는 구조체를 정의하고, Name, Age, Address라는 필드를 가지고 있습니다. 구조체를 JSON으로 직렬화하기 위해 encoding/json 패키지의 Marshal 함수를 사용하였습니다.
실행 결과
위의 예제 코드를 실행하면 다음과 같은 결과가 출력됩니다.
{"name":"John","age":30,"address":"123 Main St"}
위 결과는 구조체가 JSON 형식으로 직렬화된 결과입니다.
결론
Go 언어에서는 encoding/json 패키지를 사용하여 구조체를 JSON 형식으로 직렬화할 수 있습니다. 이를 통해 구조체를 다른 시스템과 데이터를 교환할 때 유용하게 사용할 수 있습니다.
더 자세한 내용은 Go 공식 문서를 참조하시기 바랍니다.