[go] Go 언어로 JSON 데이터 파싱하기

Go 언어는 간결한 문법과 높은 성능으로 JSON 데이터를 파싱하기에 적합한 언어입니다. 이 포스트에서는 Go 언어를 사용하여 JSON 데이터를 파싱하는 방법에 대해 살펴보겠습니다.

1. JSON 데이터 파싱 기본

Go 언어에서는 encoding/json 패키지를 사용하여 JSON 데이터를 파싱합니다. 먼저 JSON 데이터를 담을 구조체(Struct)를 정의합니다. 예를 들어, 다음과 같은 JSON 데이터가 있다고 가정해봅시다.

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

위와 같이 Person 구조체를 정의하고, json 태그를 사용하여 구조체 필드와 JSON 키를 매핑해줍니다. 그리고 다음과 같이 JSON 데이터를 파싱할 수 있습니다.

jsonString := `{"name": "John", "age": 30}`
var person Person
json.Unmarshal([]byte(jsonString), &person)
fmt.Println(person.Name, person.Age)

2. 중첩된 JSON 데이터 파싱

만약 JSON 데이터가 중첩되어 있는 경우에는 중첩된 구조체를 활용하여 파싱할 수 있습니다. 예를 들어, 다음과 같은 JSON 데이터가 있다고 가정해봅시다.

type Address struct {
    City    string `json:"city"`
    Country string `json:"country"`
}

type Person struct {
    Name    string  `json:"name"`
    Age     int     `json:"age"`
    Address Address `json:"address"`
}

위와 같이 Person 구조체 안에 Address 구조체를 중첩하여 정의하고, 이를 활용하여 JSON 데이터를 파싱할 수 있습니다.

결론

Go 언어를 사용하여 JSON 데이터를 파싱하는 방법에 대해 알아보았습니다. encoding/json 패키지를 활용하여 간단하게 JSON 데이터를 파싱할 수 있으며, 중첩된 구조체를 활용하여 복잡한 JSON 데이터도 파싱할 수 있습니다.

더 많은 정보를 원하시면 공식 Go 언어 문서를 참고하시기 바랍니다.