← All JSON guides

JSON guide · 2 min read

Does JSON Object Key Order Matter?

Understand object property order, array order and why serializers, diffs and application code should not confuse presentation with data semantics.

By JSON HearthPublished 2026-08-22

Objects and arrays model order differently

JSON objects are collections of named members, while arrays are ordered sequences. That distinction is the starting point for deciding whether a reordering is meaningful.

Objects:
{"a":1,"b":2}
{"b":2,"a":1}

Arrays:
["draft","published"]
["published","draft"]

Runtime iteration order is not the same as semantic dependence

JavaScript and other runtimes often expose predictable property iteration order, and serializers may preserve it. Application design should still use an explicit array when sequence itself carries meaning.

Text diffs can overstate object-key changes

Reordered keys can produce a large line diff even when the same names and values remain present. Use a structure-aware JSON diff for semantic review and a text diff only when source representation itself matters.

Deterministic serialization can still be useful

Stable key ordering reduces noisy generated-file and snapshot changes. When you need deterministic output, define a sorting or canonicalization rule explicitly instead of relying on incidental insertion order.

Never sort arrays without understanding the domain

Sorting an array can change meaning when positions encode priority, chronology or processing order. Normalize arrays only when the contract explicitly treats them as an unordered set or keyed collection.

Express order directly in the data model

If order matters, use an array or include an explicit ordering field. That makes the contract portable across languages and serializers instead of depending on object-member presentation.

Common questions

Frequently asked questions

Are objects with the same keys in different order equivalent?

For most semantic comparisons, yes. Exact text and application-specific presentation can still differ.

Does array order matter in JSON?

Yes. Arrays are ordered sequences, so changing element positions normally changes their meaning.

Why sort object keys before snapshot testing?

Stable ordering reduces noisy diffs and makes generated output deterministic when object-member order is not part of the contract.