투케이2K

44. (Go Lang) [Mac Os] Go 문법 : json (제이슨) - JSON 디코딩 수행 및 Slice Array 값 확인 - jsonArray 본문

Go Lang (Go 언어)

44. (Go Lang) [Mac Os] Go 문법 : json (제이슨) - JSON 디코딩 수행 및 Slice Array 값 확인 - jsonArray

투케이2K 2024. 2. 22. 10:35

[개발 환경 설정]

개발 언어 : Go

 

[소스 코드]

package main

import (
	"encoding/json"
	"fmt"
)

func main() {

	// ---------------------------------------------------
	// [기본 설명]
	// ---------------------------------------------------
	// JSON (JavaScript Object Notation) 은 데이터를 교환하는 한 포맷 방식으로 key , value 형식으로 데이터를 생성할 수 있습니다
	// ---------------------------------------------------
	// Go 에서 JSON 을 사용하기 위해서는 표준패키지 encoding/json 을 사용할 수 있습니다
	// ---------------------------------------------------

	// [인코딩 구조체 생성]
	var addr_array []string
	addr_array = append(addr_array, "seoul")
	addr_array = append(addr_array, "yeongju")

	en_user := En_User{"Twok", 30, addr_array}

	// [Json 인코딩 수행 : Marshal]
	jsonBytes, en_err := json.Marshal(en_user)
	if en_err != nil {
		panic(en_err)
	}

	// [Json 바이트를 문자열로 변경] : [인코딩 완료]
	jsonString := string(jsonBytes)

	// ------------------------------------------

	// [문자열을 바이트로 변경 실시]
	deByte := []byte(jsonString)

	// [구조체 지정 및 JSON 디코딩 수행]
	var de_user De_User
	de_err := json.Unmarshal(deByte, &de_user)
	if de_err != nil {
		panic(de_err)
	}

	// [로그 출력]
	fmt.Println("")
	fmt.Println("----------------------------------------------")
	fmt.Println("[로그 출력 수행]")
	fmt.Println("----------------------------------------------")
	fmt.Println("Name : ", de_user.Name)
	fmt.Println("Age : ", de_user.Age)
	fmt.Println("Addr : ", de_user.Addr)
	fmt.Println("----------------------------------------------")
	fmt.Println("")
}

// ---------------------------------------------------

// [JSON 인코딩 사용될 구조체 생성]
type En_User struct {
	Name string
	Age  int
	Addr []string
}

// ---------------------------------------------------

// [JSON 디코딩 사용될 구조체 생성]
type De_User struct {
	Name string
	Age  int
	Addr []string
}

// ---------------------------------------------------
 

[결과 출력]

 

 

반응형
Comments