如何使用golang WebSocket解码多种消息类型?
我有一个使用(相对)标准库的go程序。我试图从一个网页接收和解码消息,该网页对每种类型的消息都有不同的结构,即如何使用golang WebSocket解码多种消息类型?,websocket,go,Websocket,Go,我有一个使用(相对)标准库的go程序。我试图从一个网页接收和解码消息,该网页对每种类型的消息都有不同的结构,即 {type: "messagetype", msg: { /* structure different for each message type */ } } 是否有办法对消息进行“部分”解码,在继续将实际消息解码为go结构之前只检查type字段 这是否需要编写一个定制的编解码器,一个'laJSON,将消息本身委托给JSON编解码器?用于延迟解码,例如 struct { t
{type: "messagetype", msg: { /* structure different for each message type */ } }
是否有办法对消息进行“部分”解码,在继续将实际消息解码为go结构之前只检查type
字段
这是否需要编写一个定制的编解码器
,一个'laJSON
,将消息本身委托给JSON编解码器?用于延迟解码,例如
struct {
type string
msg json.RawMessage
}
json.RawMessage
是[]字节
的别名,您可以根据需要进一步解码。谢谢!我几乎放弃了,但我真的很讨厌我需要使用反射或尝试/捕获不同的解组的想法。这样好多了。