JSON
JSON Sort Keys
Sắp xếp đệ quy các khóa của đối tượng trong JSON theo bảng chữ cái — thứ tự các phần tử mảng không đổi, chỉ khóa của đối tượng ở mỗi cấp lồng nhau được sắp xếp.
JSON doesn't guarantee object key order, so two semantically identical documents can look different simply because their fields are in a different order. This tool recursively sorts object keys alphabetically at every nesting level, without touching array element order.
How to use it
- Paste JSON and its object keys are sorted alphabetically instantly, at every level of nesting.
- Pick ascending or descending order as needed.
- Array element order is left untouched — only object keys are sorted, not array values.
Common uses
- Bringing JSON into a canonical form before comparing it with git diff or a text diff tool.
- Normalizing a configuration file for a stable, predictable look in a repository.
- Preparing JSON before computing a content hash, when the result needs to be deterministic regardless of input field order.
Things to keep in mind
Sorting is byte-based (by Unicode code point) — all uppercase letters come before lowercase ones regardless of alphabet, unlike locale-aware sorting.
Only object keys are sorted — array element order carries semantic meaning in JSON, so it's never changed.
Bài viết về công cụ này: JSON Sort Keys: vì sao cần sắp xếp khóa của object
Câu hỏi thường gặp
Vì sao tôi muốn sắp xếp khóa của object JSON theo thứ tự chữ cái?
Sắp xếp khóa giúp so sánh hai tệp JSON có ý nghĩa hơn, vì thứ tự khóa vốn phụ thuộc vào cách object được tạo ban đầu, dù không ảnh hưởng đến ý nghĩa.
Sắp xếp khóa có thay đổi ý nghĩa của JSON không?
Không. Trong JSON, thứ tự khóa của object không có ý nghĩa ngữ nghĩa — sắp xếp chỉ thay đổi cách dữ liệu trông như thế nào, không phải nó đại diện cho điều gì.
Công cụ này có gửi JSON của tôi đi đâu để sắp xếp không?
Không. Việc sắp xếp diễn ra hoàn toàn trong trình duyệt của bạn — không có gì được gửi tới máy chủ.
Khóa có được sắp xếp đệ quy ở mọi cấp độ lồng nhau không?
Có, việc sắp xếp không chỉ áp dụng cho khóa ở cấp cao nhất mà còn cho khóa của mọi object lồng nhau ở bất kỳ độ sâu nào — nếu không, kết quả sẽ không nhất quán.
Ngôn ngữ/locale có ảnh hưởng đến thứ tự khóa đã sắp xếp không?
Sắp xếp theo byte (theo mã Unicode) đặt mọi chữ hoa trước chữ thường bất kể bảng chữ cái nào. Điều này khác với sắp xếp có tính đến quy tắc ngôn ngữ, vốn sắp xếp ký tự theo cách "tự nhiên" hơn — với hầu hết khóa kỹ thuật, sự khác biệt không đáng kể, nhưng cần lưu ý với tên không phải Latin.