diff options
Diffstat (limited to 'encode.go')
-rw-r--r-- | encode.go | 29 |
1 files changed, 16 insertions, 13 deletions
@@ -246,13 +246,27 @@ func encode(w *ReEncoder, val reflect.Value, escaper BackslashEscaper, quote boo return err } } - case reflect.Float32, reflect.Float64: + case reflect.Float32: if quote { if err := w.WriteByte('"'); err != nil { return err } } - if err := encodeTODO(w, val); err != nil { + if err := encodeFloat(w, 32, val); err != nil { + return err + } + if quote { + if err := w.WriteByte('"'); err != nil { + return err + } + } + case reflect.Float64: + if quote { + if err := w.WriteByte('"'); err != nil { + return err + } + } + if err := encodeFloat(w, 64, val); err != nil { return err } if quote { @@ -522,14 +536,3 @@ func encodeArray(w *ReEncoder, val reflect.Value, escaper BackslashEscaper, cycl } return nil } - -func encodeTODO(w io.Writer, val reflect.Value) error { - bs, err := json.Marshal(val.Interface()) - if err != nil { - return err - } - if _, err := w.Write(bs); err != nil { - return err - } - return nil -} |