Skip to main content

encoding/json


Field tags

Field <type> `json:"<name>[,<option>]"`

태그에 따라 인코딩/디코딩 시에 적용되는 내용입니다.

  • <name>: "Field" 대신 사용될 이름입니다.
    • -를 사용할 경우 인코딩/디코딩에서 제외됩니다.
    • -,를 사용하면 -이 이름으로 사용됩니다.
    • ,<option>을 사용하면 "Field"를 이름으로 사용하면서 옵션만 추가할 수 있습니다.
  • <option>
    • omitempty: 필드가 empty인 경우 제외됩니다.
      • empty: false, 0, a nil pointer, a nil interface value, and any empty array, slice, map, or string.
    • string: floating point, integer, or boolean인 경우 문자열로 인코딩 됩니다.

type <-> JSON

UnmarshaltypeMarshal
RFC3339time.TimeRFC3339

변환

import (
"encoding/base64"
)

data := &Something{}

// ...

jsonData, err := json.Marshal(data)
import (
"encoding/base64"
)

data := &Something{}
err := json.Unmarshal(jsonData, data)