괴발개발 성장기

Study/Go 언어

[Golang] JSON에서 원하는 값만 추출해 오기

지니유 2021. 12. 13. 20:01
반응형

# 배경

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)
반응형