[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 패키지 문서