如何在Go结构中重写json标记?
我想整理部分:如何在Go结构中重写json标记?,json,go,marshalling,hl7-fhir,Json,Go,Marshalling,Hl7 Fhir,我想整理部分: 它是的Go实现的一部分,只包括元数据字段,省略了三个内容字段(codeSystem、compose和expansion)。我不能(也不应该)更改原始源代码中的JSON标记,因为其他代码强烈依赖于它的编写方式。如何让json.Marshal重写这些结构元素上的现有json标记?您不能更改它,但不必更改 最简单的解决方案是创建自己的结构,定义自己的json标记(希望它们在输出中的显示方式),复制字段,并封送自己的结构的值 例如,假设您要封送Id和Url字段,然后: type MyVa
它是的Go实现的一部分,只包括元数据字段,省略了三个内容字段(codeSystem、compose和expansion)。我不能(也不应该)更改原始源代码中的JSON标记,因为其他代码强烈依赖于它的编写方式。如何让json.Marshal重写这些结构元素上的现有json标记?您不能更改它,但不必更改 最简单的解决方案是创建自己的结构,定义自己的json标记(希望它们在输出中的显示方式),复制字段,并封送自己的结构的值 例如,假设您要封送
Id
和Url
字段,然后:
type MyValueSet struct {
Id string `json:"MyId"`
Url string `json:"MyUrl"`
}
var vs ValueSet = ... // Comes from somewhere
mvs := MyValueSet {
Id: vs.Id,
Url: vs.Url,
}
data, err := json.Marshal(&mvs)
// Check err
你不能改变它,但你不必改变 最简单的解决方案是创建自己的结构,定义自己的json标记(希望它们在输出中的显示方式),复制字段,并封送自己的结构的值 例如,假设您要封送
Id
和Url
字段,然后:
type MyValueSet struct {
Id string `json:"MyId"`
Url string `json:"MyUrl"`
}
var vs ValueSet = ... // Comes from somewhere
mvs := MyValueSet {
Id: vs.Id,
Url: vs.Url,
}
data, err := json.Marshal(&mvs)
// Check err