source

구조물에 여러 개의 이름 태그를 정의하는 방법

lovecheck 2023. 4. 2. 10:40
반응형

구조물에 여러 개의 이름 태그를 정의하는 방법

mongo 데이터베이스에서 아이템을 가져와야 하기 때문에 이런 구조를 정의했습니다.

type Page struct {
    PageId string                 `bson:"pageId"`
    Meta   map[string]interface{} `bson:"meta"`
}

여기서 JSON으로 인코딩해야 하는데 필드가 대문자로 인코딩되기 때문에(pageId가 아닌 PageId가 취득됩니다), JSON의 필드 태그도 정의해야 합니다.다음과 같이 시도했지만 효과가 없었습니다.

type Page struct {
    PageId string                 `bson:"pageId",json:"pageId"`
    Meta   map[string]interface{} `bson:"meta",json:"pageId"`
}

그러면 어떻게 하면 구조물에 여러 개의 이름 태그를 정의할 수 있을까요?

태그 문자열 구분자로 쉼표 대신 공간을 사용해야 합니다.

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}

패키지의 문서에는 다음과 같이 기재되어 있습니다.

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

수락한 답변 감사합니다.

아래는 나 같은 게으른 사람들을 위한 것이다.

틀렸습니다

type Page struct {
    PageId string                 `bson:"pageId",json:"pageId"`
    Meta   map[string]interface{} `bson:"meta",json:"pageId"`
}

맞아요.

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"pageId"`
}

언급URL : https://stackoverflow.com/questions/18635671/how-to-define-multiple-name-tags-in-a-struct

반응형