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 关注
- 121 浏览
添加回答
举报