Golang에서 문자열 분할을 사용한 사용자 정의 역마샬링
문제:
JSON을 Golang으로 역마샬링 struct, 여기서 하나의 문자열 필드(예: "subjects")는 구분 기호(예: '-')를 기반으로 문자열 조각으로 분할되어야 합니다.
해결책:
문자열 필드 조각에 대한 사용자 정의 역마샬러를 구현합니다. 여기에는 json.Unmarshaler 인터페이스를 구현하는 새로운 데이터 유형을 생성하는 작업이 포함됩니다.
<code class="go">type strslice []string func (ss *strslice) UnmarshalJSON(data []byte) error { var s string if err := json.Unmarshal(data, &s); err != nil { return err } *ss = strings.Split(s, "-") return nil }</code>
구조체에서 이 사용자 정의 유형을 사용하세요.
<code class="go">type Student struct { StudentNumber int `json:"student_number"` Name string `json:"name"` Subjects strslice `json:"subjects"` }</code>
이제 JSON을 언마샬링할 때 "주제 " 필드는 자동으로 문자열 조각으로 분할됩니다:
<code class="go">var s Student err := json.Unmarshal([]byte(src), &s) fmt.Println(s, err)</code>
출력:
{1234567 John Doe [Chemistry Maths History Geography]} <nil>
위 내용은 JSON 문자열 필드를 Golang의 문자열 조각으로 역정렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!