summaryrefslogtreecommitdiff
path: root/encode.go
diff options
context:
space:
mode:
Diffstat (limited to 'encode.go')
-rw-r--r--encode.go29
1 files changed, 16 insertions, 13 deletions
diff --git a/encode.go b/encode.go
index 2830ace..492b40f 100644
--- a/encode.go
+++ b/encode.go
@@ -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
-}