[go] Go에서 JSON 파싱하기
Go 언어에서 JSON 데이터를 파싱하는 것은 매우 간단합니다. Go의 표준 라이브러리에는 JSON 데이터를 처리하기 위한 내장된 패키지가 있으며, 이를 사용하여 손쉽게 JSON 데이터를 읽고 쓸 수 있습니다.
JSON 데이터 읽기
다음은 Go 언어에서 JSON 데이터를 읽는 간단한 예제입니다.
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
jsonData := []byte(`{"name": "Alice", "age": 30}`)
var person Person
err := json.Unmarshal(jsonData, &person)
if err != nil {
fmt.Println("JSON 파싱 오류:", err)
return
}
fmt.Println(person.Name, person.Age)
}
위 예제에서는 json.Unmarshal
함수를 사용하여 JSON 데이터를 Person
구조체로 파싱했습니다.
JSON 데이터 쓰기
또한, Go에서는 구조체를 JSON 형태로 직렬화할 수도 있습니다.
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
person := Person{Name: "Bob", Age: 25}
jsonData, err := json.Marshal(person)
if err != nil {
fmt.Println("JSON 직렬화 오류:", err)
return
}
fmt.Println(string(jsonData))
}
위 예제에서는 json.Marshal
함수를 사용하여 Person
구조체를 JSON 데이터로 변환했습니다.
간단한 예제지만 Go 언어의 내장된 JSON 패키지를 사용하면 더 복잡한 JSON 데이터를 다루는 데도 충분히 유용하며, 강력한 기능들을 제공합니다.
더 읽을 거리: Go 언어 공식 JSON 패키지 문서