diff --git a/write.go b/write.go index cfbd568..3f5fb57 100644 --- a/write.go +++ b/write.go @@ -34,6 +34,9 @@ func (e *Encoder) encodeStruct(val reflect.Value) error { func (e *Encoder) encodeMap(val reflect.Value) error { for _, k := range val.MapKeys() { v := val.MapIndex(k) + if v.Kind() == reflect.Map { + return encodeMap(v) + } if err := e.writeTuple(k.Interface(), v); err != nil { return err