如何使用golang网络套接字解码多个消息类型



我有一个使用(相对)标准go.net/websocket的go程序‎图书馆我正在尝试接收和解码来自一个网页的消息,该网页对每种类型的消息都有不同的结构,即

{type: "messagetype", msg: { /* structure different for each message type */ } }

是否有任何方法可以对消息进行"部分"解码,在将实际消息解码为go结构之前只检查type字段?

这是否需要编写一个自定义的Codec,即‘la JSON’,将其委托给消息本身的JSON编解码器?

使用json。RawMessage延迟解码,如

struct {
    type string
    msg  json.RawMessage
}

json.RawMessage[]byte的别名,您可以根据需要对其进行进一步解码。

相关内容

  • 没有找到相关文章

最新更新