• Russ Cox's avatar
    encoding/json: use standard ES6 formatting for numbers during marshal · 92b3e365
    Russ Cox authored
    Change float32/float64 formatting to use non-exponential form
    for a slightly wider range, to more closely match ES6 JSON.stringify
    and other JSON generators.
    
    Most notably:
    
    	1e20 now formats as 100000000000000000000 (previously 1e+20)
    	1e-6 now formats as 0.000001 (previously 1e-06)
    	1e-7 now formats as 1e-7 (previously 1e-07)
    
    This also brings the int64 and float64 formatting in line with each other,
    for all shared representable values. For example both int64(1234567)
    and float64(1234567) now format as "1234567", where before the
    float64 formatted as "1.234567e+06".
    
    The only variation now compared to ES6 JSON.stringify is that
    Go continues to encode negative zero as "-0", not "0", so that
    the value continues to be preserved during JSON round trips.
    
    Fixes #6384.
    Fixes #14135.
    
    Change-Id: Ib0e0e009cd9181d75edc0424a28fe776bcc5bbf8
    Reviewed-on: https://go-review.googlesource.com/30371Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    92b3e365
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
context Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
plugin Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang_org/x Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...