[go] Go에서 JSON 데이터 분할하기

Go 언어에서 JSON 데이터를 읽고 적절히 처리하는 방법을 살펴보겠습니다.

JSON 데이터 읽기

가장 먼저, encoding/json 패키지를 사용하여 JSON 데이터를 읽고 Go의 데이터 구조에 매핑합니다.

예를 들어, 다음 예제 코드는 JSON 데이터를 읽어 Go의 map 데이터 구조에 매핑하는 방법을 보여줍니다.

import (
	"encoding/json"
	"fmt"
	"log"
)

func main() {
	jsonData := []byte(`{"name": "John", "age": 30}`)
	
	var person map[string]interface{}
	err := json.Unmarshal(jsonData, &person)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(person["name"])
	fmt.Println(person["age"])
}

위의 코드에서 json.Unmarshal 함수를 사용하여 JSON 데이터를 person이라는 map에 매핑합니다.

JSON 데이터 분할하기

JSON 데이터를 읽은 후에, 데이터를 분할하고 필요한 부분만을 추출할 수 있습니다. 예를 들어, 다음과 같이 JSON 데이터의 일부분만을 추출할 수 있습니다.

import (
	"encoding/json"
	"fmt"
	"log"
)

func main() {
	jsonData := []byte(`{"name": "John", "age": 30, "address": {"city": "New York", "zip": "10001"}}`)

	var person map[string]interface{}
	err := json.Unmarshal(jsonData, &person)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("Name:", person["name"])
	fmt.Println("Age:", person["age"])
	address := person["address"].(map[string]interface{})
	fmt.Println("City:", address["city"])
	fmt.Println("Zip:", address["zip"])
}

위의 예제에서, address 키의 값을 가져와서 해당 값을 다시 map으로 변환하여 주소를 얻을 수 있습니다.

결론

Go 언어에서 JSON 데이터를 읽고 원하는 부분을 추출하는 방법을 살펴보았습니다. encoding/json 패키지를 사용하여 JSON 데이터를 읽고 처리하는 것은 Go에서 매우 일반적이며, 필요에 따라 데이터를 쉽게 추출할 수 있습니다.

원문 링크: https://example.com/go-json-data-decode