source

골랑 구조의 XML 및 JSON 태그?

manysource 2023. 2. 8. 19:46

골랑 구조의 XML 및 JSON 태그?

HTTP 요청 헤더에 따라 JSON 또는 XML로 출력할 수 있는 응용 프로그램이 있습니다.사용하고 있는 구조에 올바른 태그를 추가하면 어느 쪽이든 올바른 출력을 얻을 수 있지만 JSON과 XML 모두에 대해 태그를 지정하는 방법을 알 수 없습니다.

예를 들어, 이것은 올바른 XML을 위해 시리얼화됩니다.

type Foo struct {
    Id          int64       `xml:"id,attr"`
    Version     int16       `xml:"version,attr"`
}

...이것에 의해, 올바른 JSON이 생성됩니다.

type Foo struct {
    Id          int64       `json:"id"`
    Version     int16       `json:"version"`
}

...다만, 이것은 어느 쪽에도 효과가 없습니다.

type Foo struct {
    Id          int64       `xml:"id,attr",json:"id"`
    Version     int16       `xml:"version,attr",json:"version"`
}

Go 태그는 공백으로 구분됩니다.매뉴얼:

관례상 태그 문자열은 옵션으로 공백으로 구분된 키("value" 쌍으로 구성됩니다.각 키는 공백(U+0020 ' '), 따옴표(U+0022 ')' 및 콜론(U+003A ':') 이외의 비제어 문자로 구성된 비어 있지 않은 문자열입니다.각 값은 U+0022' 문자와 Go 문자열 리터럴 구문을 사용하여 따옴표로 묶습니다.

그래서 당신이 쓰고 싶은 것은 다음과 같습니다.

type Foo struct {
    Id          int64       `xml:"id,attr" json:"id"`
    Version     int16       `xml:"version,attr" json:"version"`
}

언급URL : https://stackoverflow.com/questions/19885162/xml-and-json-tags-for-a-golang-struct