1 回答

TA貢獻1817條經驗 獲得超6個贊
您指定的 JSON 具有與結構不同的模型。
有幾種方法可以對齊這些:更改 JSON 數據的規范以匹配您的結構,更改結構以匹配 JSON 的規范,或創建僅用于封送處理的新結構。
我省略了最后一個示例,因為它與第二種方法非常相似。
更改 JSON 的規范
以下模型保持不變:
type MessageProtocolHandshake struct {
HandshakeType HandshakeType `json:"handshakeType"`
Version []Version `json:"version"`
}
type HandshakeType struct {
HandshakeType string
}
此操作的 JSON 為:
{"handshakeType":{"HandshakeType":""},"version":[]}
您沒有指定類型,因此我不知道如何更改JSON。Version
更改結構
以下 JSON 保持不變:
{"messageProtocolHandshake":[{"handshakeType":"announceMax"},{"version":[{"major":1},{"minor":0}]}]}
其結構是:
type Model struct {
MessageProtocolHandshake []interface{} `json:"messageProtocolHandshake"`
}
type HandshakeType struct {
HandshakeType string `json:"handshakeType"`
}
type Versions struct {
Version []Version `json:"version"`
}
type Version struct {
Major *int `json:"major,omitempty"`
Minor *int `json:"minor,omitempty"`
}
取消婚姻不會是微不足道的。
https://play.golang.org/p/89WUhcMFM0B
從結果中可以明顯看出,您使用的模型并不好。如果有辦法改變所有這些,我建議從頭開始,使用必要的數據并從結構中創建JSON規范。
我建議閱讀JSON:https://www.json.org/json-en.html
另外,我推薦Go和JSON的介紹:https://blog.golang.org/json
- 1 回答
- 0 關注
- 138 瀏覽
添加回答
舉報