[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 공식 문서를 참고하시기 바랍니다.