Skip to content

Commit 8926e83

Browse files
Fix deepObject marshalling losing json number format/precision
Fixes: #28
1 parent 35e8035 commit 8926e83

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

deepobject.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package runtime
22

33
import (
4+
"bytes"
45
"encoding/json"
56
"errors"
67
"fmt"
@@ -71,8 +72,10 @@ func MarshalDeepObject(i interface{}, paramName string) (string, error) {
7172
if err != nil {
7273
return "", fmt.Errorf("failed to marshal input to JSON: %w", err)
7374
}
75+
e := json.NewDecoder(bytes.NewReader(buf))
76+
e.UseNumber()
7477
var i2 interface{}
75-
err = json.Unmarshal(buf, &i2)
78+
err = e.Decode(&i2)
7679
if err != nil {
7780
return "", fmt.Errorf("failed to unmarshal JSON: %w", err)
7881
}

0 commit comments

Comments
 (0)