我想生成一个类似于这样的json:
{
"A": 1,
"B": "bVal",
"C": "cVal"
}
但我希望我的代码足够通用,以便我可以替换“C”键值对为我想要的任何其他类型的 JSON 对象。我尝试了下面的操作:
type JsonMessage struct {
A int `json:"A"`
B string `json:"B,omitempty"`
genericObj interface{}
}
type JsonObj struct {
C string `json:"C"`
}
func main() {
myJsonObj := JsonObj{C: "cVal"}
myJson := JsonMessage{A: 1, B: "bValue", genericObj: myJsonObj}
body, _ := json.Marshal(myJson)
fmt.Print(body)
}
但输出只是这个:
{
"A": 1,
"B": "bVal"
}
还有其他方法来处理这个问题吗?
{"A":1,"B":"bValue","GenericObj":{"C":"cVal"}}
- rnk