I have a go program using the (relatively) standard go.net/websocket library. I'm trying to receive and decode messages from a web page that have a different structure for each type of message, i.e.
{type: "messagetype", msg: { /* structure different for each message type */ } }
Is there any way to do a "partial" decode of the message, only checking the type
field before proceeding to decode the actual message into a go struct?
Would this necessitate writing a custom Codec
, a'la JSON
, that delegates to the JSON codec for the message itself?
Use json.RawMessage to delay the decoding, eg
struct {
type string
msg json.RawMessage
}
json.RawMessage
is an alias for []byte
which you can then further decode as you wish.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With