Notice
Recent Posts
Recent Comments
Link
투케이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
}
// ---------------------------------------------------
[결과 출력]
반응형
'Go Lang (Go 언어)' 카테고리의 다른 글
Comments