반응형
# 배경
DB에서 Json으로 되어 있는 컬럼에서 원하는 값 추출하고 싶었다.
# DB 컬럼 값
content
{"name": "유지니", "id": 3954, "totalQuantity": 3, "registrationNo": "990101-2******"}
# 코드
type ContentJson struct {
Id int64
Content map[string]interface{}
}
func (contentService) ExtractValue(ctx context.Context, id int64) error {
content, err := DonationDocuService().GetIssuedDonationReceipt(ctx, id) //원하는 값을 가져왔다.
if err != nil {
return err
}
m := entity.ContentJson{
Id: id,
}
_ = json.Unmarshal(content.Content, &m.Content) //바이트를 JSon으로 바꿔준다.
dateOfBirth= m.Content["registrationNo"].(string)[0:6] //주민등록번호에서 앞에 6자리만 추출한다.
fmt.println("생년월일 :",dateOfBirth)
return
}
# KeyPoint
1) content는 map으로 되어있어서 키로 값을 찾아왔다.
dateOfBirth= m.Content["registrationNo"]
2) 인터페이스를 string으로 변경했다.
m.Content["registrationNo"].(string)
반응형
'Study > Go 언어' 카테고리의 다른 글
[golang] 핸드폰번호 암호화하는 과정에서 key 값이 0이 나와서 에러가 발생한다 (0) | 2021.12.21 |
---|---|
[golang] XORM에서 like문 사용할 때 % 처리하는 방법 (0) | 2021.12.16 |
[golang] Html 파일을 PDF로 변환 (go-wkhtmltopdf 사용) (0) | 2021.12.08 |
[golang] DB안에 JSON 객체를 넣는 방법(jsonb 사용) (0) | 2021.06.22 |
구조체 (0) | 2021.06.14 |