[go] JSON 배열 다루기

Golang은 JSON 데이터를 쉽게 다룰 수 있는 강력한 기능을 제공합니다. JSON 배열을 다루는 것은 매우 흔한 작업이며, Golang은 이를 간단하고 효율적으로 수행할 수 있습니다. 이 글에서는 Golang에서 JSON 배열을 읽고 쓰는 방법에 대해 알아보겠습니다.

JSON 배열 읽기

Golang에서 JSON 배열을 읽기 위해서는 encoding/json 패키지를 사용합니다. 아래 예제는 JSON 배열을 읽어 들이는 간단한 방법을 보여줍니다.

package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	jsonData := []byte(`[{"name":"Alice","age":25},{"name":"Bob","age":30}]`)

	var people []map[string]interface{}
	err := json.Unmarshal(jsonData, &people)
	if err != nil {
		fmt.Println("Error unmarshalling JSON:", err)
		return
	}

	fmt.Println(people)
}

위 예제에서는 json.Unmarshal 함수를 사용하여 JSON 배열을 Golang의 슬라이스로 변환했습니다. 이때 슬라이스의 각 요소는 map[string]interface{} 형태로 표현되므로, 데이터에 접근하기 위해서는 추가적인 타입 변환이 필요합니다.

JSON 배열 쓰기

Golang에서 JSON 배열을 쓰기 위해서는 마찬가지로 encoding/json 패키지를 사용합니다. 아래 예제는 Golang에서 JSON 배열을 생성하고 이를 문자열로 변환하는 방법을 보여줍니다.

package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	var people = []map[string]interface{}{
		{"name": "Alice", "age": 25},
		{"name": "Bob", "age": 30},
	}

	jsonData, err := json.Marshal(people)
	if err != nil {
		fmt.Println("Error marshalling JSON:", err)
		return
	}

	fmt.Println(string(jsonData))
}

위 예제에서는 json.Marshal 함수를 사용하여 Golang의 슬라이스를 JSON 형식의 문자열로 변환했습니다.

결론

Golang은 JSON 배열을 읽고 쓰는 작업을 위해 편리한 기능을 제공합니다. encoding/json 패키지를 사용하여 JSON 데이터를 손쉽게 다룰 수 있으며, 이를 통해 데이터 처리 작업을 더욱 간편하게 수행할 수 있습니다.

더 자세한 내용은 Golang 공식 문서를 참고하시기 바랍니다.