반응형
Go에서 JSON Marshal을 사용한 소문자 JSON 키 이름
"encoding/json"
패키지 를 사용하여 내 응용 프로그램의 가져온 패키지 중 하나에 선언 된 구조체를 마샬링하고 싶습니다.
예 :
type T struct {
Foo int
}
가져 오기 때문에 구조체에서 사용 가능한 모든 (내 보낸) 필드는 대문자로 시작합니다. 그러나 소문자 키 이름을 원합니다.
out, err := json.Marshal(&T{Foo: 42})
결과
{ "푸": 42}
그러나 나는 얻고 싶다
{ "foo": 42}
쉬운 방법으로 문제를 해결할 수 있습니까?
encoding / json.Marshal 에 대한 문서를 살펴보십시오 . 생성 된 JSON이 형식화되는 방법을 판별하기 위해 구조체 필드 태그 사용에 대해 설명합니다.
예를 들면 다음과 같습니다.
type T struct {
FieldA int `json:"field_a"`
FieldB string `json:"field_b,omitempty"`
}
다음과 같이 JSON이 생성됩니다.
{
"field_a": 1234,
"field_b": "foobar"
}
내보내려는 키로 자신의 구조체를 만들고 소문자 이름에 적합한 json 태그를 제공 할 수 있습니다. 그런 다음 JSON으로 인코딩하기 전에 원하는 구조체를 구조체에 복사 할 수 있습니다. 또는 로컬 구조체를 만드는 데 신경 쓰지 않으려면 아마도 map[string]interface{}
그것을 만들고 인코딩 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/11693865/lowercase-json-key-names-with-json-marshal-in-go
반응형
'Programing' 카테고리의 다른 글
목록 내 div가 허용됩니까? (0) | 2020.06.08 |
---|---|
전체 리포지토리를 먼저 체크 아웃하지 않고 스파 스 체크 아웃을 수행 할 수 있습니까? (0) | 2020.06.08 |
GitHub에서 요점을 어떻게 관리합니까? (0) | 2020.06.08 |
Rails Model, View, Controller 및 Helper : 어디로 가는가? (0) | 2020.06.08 |
패딩을 무시하는 절대 위치 지정 (0) | 2020.06.08 |