"encoding/json"
패키지 를 사용하여 내 응용 프로그램의 가져온 패키지 중 하나에 선언 된 구조체를 마샬링하고 싶습니다.
예 :
type T struct {
Foo int
}
가져 오기 때문에 구조체에서 사용 가능한 모든 (내 보낸) 필드는 대문자로 시작합니다. 그러나 소문자 키 이름을 원합니다.
out, err := json.Marshal(&T{Foo: 42})
결과
{ "푸": 42}
그러나 나는 얻고 싶다
{ "foo": 42}
쉬운 방법으로 문제를 해결할 수 있습니까?
5
@ Zippoxer : 나는 말할 것입니다 : 클라이언트 / 서버 통신 프로토콜의 키는 소문자로 엄격하게 정의됩니다. 글쎄, 내 경우에는 프로토콜을 직접 정의했기 때문에 중요하지 않지만 이론 상으로는 적어도? 그러나 나는 그것이 어리석은 작은 세부 사항에 너무 많은 시간을 소비한다는 것만 알고 있습니다.
—
아니스
사과하지 마십시오. 당신은 바보 같은 것이 아니며, 전체 json 사양을 받아들이지 않는 언어는 바보 같은 것입니다 (아래와 같이 문제가 쉽게 해결되지만).
—
Jehan
@ ANisus : JSON 키 이름이 아닌 구조체 키 이름에 대한 질문을 잘못 읽었습니다. 투표를 철회했습니다.
—
Flimzy 2016 년