Open bcc32 opened 1 year ago
I had assumed it's a non-goal for serde-json to preserve order of maps. As long as preserve_order
is not enabled, the user shouldn't rely on any particular ordering or sorting behavior
One might reasonably want "pretty printing" of JSON to include sorting keys, or at least some other way of producing a "canonical" JSON document (for determinism, etc.). I suppose the underlying motivation for my request is similar to #1014.
In any case, for purposes of this issue, I would be happy if serde-json at least explicitly disclaimed any particular sorting behavior where relevant.
I found this behavior surprising: for a
Serializable
valuet
, the following prints a JSON object with all keys sorted lexicographically:On the other hand, the following prints the same value without sorting:
Of course, if you know how the underlying implementation works, this isn't actually that surprising, but I didn't actually see anywhere where this difference was documented, nor does the documentation of
Value
mention that it does have the sorting behavior.