Fall in IT.

Golang JSON 인코딩 / 디코딩 방법 본문

프로그래밍언어/Golang

Golang JSON 인코딩 / 디코딩 방법

D.Y 2020. 9. 28. 11:05

안녕하세요.

오늘은 Golang에서 JSON 인코딩 / 디코딩을 사용하여 json object를 string으로 혹은 json string을 object 형태로 변환하는 방법에 대해서 알아보도록 하겠습니다.

 

소스코드

package main

import (
	"encoding/json"
	"fmt"
)

// Person - 사람 정보
type Person struct {
	Name string
	Age  int
	Sex  int // 0: 여자, 1: 남자
}

func main() {
	fmt.Println("Say hi!")

	// 1. CONVERT JSON OBEJCT TO STRING
	fmt.Println("\n1.CONVERT JSON OBEJCT TO STRING")
	var personA = Person{"Alex", 23, 1}
	fmt.Println("personA Object: ", personA)

	jsonBytes, _ := json.Marshal(personA) // JSON ENCODING
	jsonString := string(jsonBytes)
	fmt.Println("personA String: ", jsonString)

	// 2. CONVERT JSON STRING TO OBJECT
	fmt.Println("\n2. CONVERT JSON STRING TO OBJECT")
	var personObj = Person{}
	err := json.Unmarshal([]byte(jsonString), &personObj) // JSON DECODING

	// EXCEPTION
	if err != nil {
		fmt.Println("Failed to json.Unmarshal", err)
	}

	fmt.Println("personObj Object: ", personObj)
}

 

결과

 

모두 즐거운 코딩하세요~

 

Comments