Trình sắp xếp khóa JSON (thứ tự khóa ổn định để diff gọn hơn)

Tự động chuẩn hóa thứ tự khóa JSON để việc review và so sánh dễ hơn.

Chọn tất cả cấp hoặc chỉ cấp trên cùng. Thứ tự mảng vẫn được giữ nguyên.

Diff gọn hơn với thứ tự khóa cố định
Giữ nguyên thứ tự mảng
Định dạng thụt lề trong cùng một lần chạy
Mọi xử lý chạy hoàn toàn trong trang này (không có dữ liệu nào được tải lên).

Công cụ

Sắp xếp và định dạng JSON trong một bước, sau đó sao chép hoặc tải xuống kết quả.

Phím tắt: Ctrl / Cmd + Enter để chạy

Ví dụ (Trước / Sau)

Đầu vào

{"b":1,"a":{"d":4,"c":3},"arr":[{"y":2,"x":1},3]}

Sắp xếp mọi cấp (2 dấu cách)

{
  "a": {
    "c": 3,
    "d": 4
  },
  "arr": [
    {
      "x": 1,
      "y": 2
    },
    3
  ],
  "b": 1
}

Chỉ sắp xếp cấp trên cùng

Các khóa cấp trên cùng được sắp xếp lại thành a, arr, b, còn thứ tự khóa bên trong "a" được giữ như khi nhập.

Cách sử dụng

  1. Dán JSON vào vùng đầu vào.
  2. Chọn phạm vi (mọi cấp/chỉ cấp trên cùng) và kiểu thụt lề.
  3. Nhấn Sắp xếp và định dạng, sau đó sao chép đầu ra.

Bạn có thể làm gì

  • Sắp xếp khóa object tăng dần hoặc giảm dần
  • Chọn mọi cấp hoặc chỉ cấp trên cùng
  • Giữ nguyên thứ tự phần tử trong mảng
  • Sao chép, tải xuống và đổi đầu vào/đầu ra

Thông số kỹ thuật (Mảng, Lồng nhau, Khóa số)

  • Khóa object được sắp xếp theo thứ tự từ điển, với phạm vi có thể chọn (mọi cấp hoặc chỉ cấp trên cùng).
  • Thứ tự phần tử mảng được giữ nguyên.
  • Tùy chọn thụt lề: 2 dấu cách, 4 dấu cách, tab hoặc rút gọn thành một dòng.
  • Nếu đầu vào không phải JSON hợp lệ, lỗi sẽ được hiển thị và đầu ra sẽ không được cập nhật.
  • Các khóa giống số nguyên có thể xuất hiện theo thứ tự số tùy vào quy tắc liệt kê thuộc tính của JavaScript.

Câu hỏi thường gặp

Các object lồng nhau cũng có thể được sắp xếp không?

Có. Bạn có thể chọn mọi cấp hoặc chỉ cấp trên cùng.

Điều gì xảy ra với mảng?

Thứ tự phần tử mảng được giữ nguyên. Các object nằm trong mảng sẽ được sắp xếp tùy theo phạm vi bạn chọn.

Tôi có thể giữ nguyên kiểu thụt lề ban đầu không?

Không. Định dạng đầu vào sẽ không được giữ. Đầu ra sẽ được định dạng lại theo kiểu thụt lề bạn chọn.

Có hỗ trợ comment kiểu JSON5 hoặc dấu phẩy cuối không?

Không. Công cụ này chỉ nhắm tới JSON chuẩn.

Dữ liệu được xử lý ở đâu?

Mọi thứ chạy cục bộ trong trình duyệt của bạn. Dữ liệu đầu vào không được gửi tới máy chủ.