json package - encoding/json - Go Packages

Overview

RFC7159에 정의된 JSON을 encode, decode 한다.

JSON 값과 GO에서 정의한 값의 매핑은 Marshal, Unmarshal 함수로 가능하다.

JSON과 Go에 대한 소개

JSON and Go - The Go Programming Language

데이터 교환 형식. JS의 객체, 리스트를 닮음.

웹 어플리케이션에서 자주 사용된다.

GO에서 정의한 값을 JSON으로 바꾸려면 아래 함수를 사용한다

func Marshal(v interface{}) ([]byte, error)

예시

type Message struct {
    Name string
    Body string
    Time int64
}

m := Message{"Alice", "Hello", 1294706395881547000}

b, err := json.Marshal(m)

string(b) // 문자열, 사람이 읽을 수 있는 JSON의 형태임

위 코드에서 err가 nil이라면, b의 값은 다음과 같다