The json package always orders keys when marshalling. Specifically:
-
Maps have their keys sorted lexicographically
-
Structs keys are marshalled in the order defined in the struct
The implementation lives here ATM:
- http://golang.org/src/pkg/encoding/json/encode.go?#L359