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
, andany empty array, slice, map, or string
.
- empty:
string
:floating point
,integer
, orboolean
인 경우 문자열로 인코딩 됩니다.
type <-> JSON
Unmarshal | type | Marshal |
---|---|---|
RFC3339 | time.Time | RFC3339 |
변환
import (
"encoding/base64"
)
data := &Something{}
// ...
jsonData, err := json.Marshal(data)
import (
"encoding/base64"
)
data := &Something{}
err := json.Unmarshal(jsonData, data)