← Tất cả công cụ

Định Dạng, Kiểm Tra & Rút Gọn JSON

Định dạng, kiểm tra và rút gọn JSON trực tuyến trong trình duyệt. Làm đẹp phản hồi API lộn xộn, phát hiện lỗi cú pháp và giảm kích thước, không cần tải lên.

Định dạng, kiểm tra và rút gọn JSON ngay trong trình duyệt

JSON, viết tắt của JavaScript Object Notation, là ngôn ngữ chung của web hiện đại. Hầu hết mọi REST API bạn gọi đều trả về JSON, phần lớn các file cấu hình dựa vào nó, và một lượng lớn dữ liệu truyền giữa các dịch vụ và front-end đều được tuần tự hóa dưới dạng JSON. Định dạng này phổ biến vì có lý do: đơn giản, độc lập với ngôn ngữ lập trình, và ánh xạ rõ ràng lên các đối tượng, mảng, chuỗi và số mà lập trình viên đã quen dùng. Nhưng sự gọn gàng đó cũng có mặt trái. Ngay khi server trả về một dòng duy nhất chứa hàng trăm key lồng nhau, cấu trúc khiến JSON hấp dẫn sẽ biến mất vào một bức tường ký tự.

JSON Formatter của speedor.net được tạo ra để trả lại cấu trúc đó. Dán dữ liệu vào, công cụ sẽ định dạng đẹp, kiểm tra và rút gọn JSON ngay tại chỗ, hoàn toàn trong tab trình duyệt của bạn. Không có gì được tải lên server, điều này cực kỳ quan trọng khi payload bạn đang kiểm tra là một phản hồi API chứa token, hồ sơ khách hàng hoặc các định danh nội bộ.

Abstract glowing nested braces and indented JSON structure on a dark indigo background
Thụt lề biến một khối dữ liệu phẳng thành một cây bạn thực sự có thể đọc được.

Vì sao thụt lề giúp JSON dễ đọc trở lại

Định dạng — còn gọi là làm đẹp hay pretty-print — lấy JSON dạng rút gọn hoặc nén chặt và thêm ngắt dòng cùng thụt lề nhất quán. Thông tin hoàn toàn giống nhau; chỉ có khoảng trắng thay đổi. Tuy nhiên chính khoảng trắng đó mới cho phép mắt bạn theo dõi độ sâu lồng nhau, nhận ra ranh giới giữa các đối tượng, và phân biệt mảng ba phần tử với mảng ba trăm phần tử. Khi bạn đang debug một tích hợp lúc hai giờ sáng, sự khác biệt giữa một cây dữ liệu dễ đọc và một chuỗi liền mạch chính là ranh giới giữa tìm ra lỗi và bỏ sót nó.

Một trình định dạng tốt cũng giữ nguyên thứ tự các key và giá trị chính xác, vì vậy những gì bạn đọc thực sự là những gì API đã gửi. Bạn không nhìn vào một bản xấp xỉ được tái hiện; bạn đang nhìn vào những byte giống hệt, chỉ được bố cục để con người có thể phân tích dễ dàng như máy móc.

Kiểm tra hợp lệ và những lỗi khiến mọi người vấp ngã

Làm đẹp chỉ là một nửa công việc. Trước khi JSON được định dạng, nó phải hợp lệ, và các quy tắc chặt chẽ của định dạng này bắt được nhiều lỗi hơn mọi người nghĩ. Một trình kiểm tra sẽ phân tích đầu vào của bạn và chỉ ra chính xác vị trí lỗi, thường là dòng và cột, để bạn không phải mò mẫm. Một số lỗi phổ biến dưới đây chiếm phần lớn các JSON bị lỗi:

  • Dấu phẩy thừa ở cuối. JSON không cho phép dấu phẩy sau phần tử cuối cùng của object hoặc mảng. JavaScript chấp nhận điều đó, đó chính xác là lý do lập trình viên quen dán vào theo thói quen.
  • Dấu nháy đơn. Chuỗi và key phải dùng dấu nháy kép. Lấy một object literal thẳng từ source code thường để lại dấu nháy đơn, và trình phân tích sẽ từ chối.
  • Key không có dấu nháy. Mọi key phải là chuỗi có dấu nháy. Các key trần, loại hoạt động tốt trong object JavaScript, là JSON không hợp lệ.
  • Dấu ngoặc thiếu hoặc không khớp. Một { hoặc [ chưa đóng, hoặc một dấu đóng lạc, sẽ làm hỏng toàn bộ tài liệu. Trình định dạng sẽ làm nổi bật vị trí mất cân bằng.
  • Chú thích và giá trị undefined. JSON không có chú thích và không có undefined; chỉ cho phép null, boolean, số, chuỗi, mảng và object.

Chạy một payload đáng ngờ qua trình kiểm tra trước và những vấn đề này sẽ lộ ra trong vài giây thay vì sau một chuỗi deploy thất bại khó hiểu.

Tangled messy data resolving into an ordered glowing structure with a validation glow
Kiểm tra hợp lệ biến một mớ dữ liệu lộn xộn thành một tài liệu đã được xác nhận, đúng định dạng.

Rút gọn để giảm kích thước payload

Thao tác ngược lại cũng hữu ích không kém. Rút gọn loại bỏ mọi byte khoảng trắng không bắt buộc, thu gọn JSON của bạn về dạng một dòng nhỏ nhất. Đó chính xác là điều bạn muốn khi dữ liệu chuẩn bị truyền qua mạng hoặc vào một giá trị cấu hình, vì payload nhỏ hơn đồng nghĩa ít băng thông và truyền tải nhanh hơn. Một quy trình phổ biến là làm đẹp phản hồi khi nghiên cứu nó, sửa những gì sai, rồi rút gọn kết quả trước khi commit hoặc dán vào biến môi trường. Một công cụ xử lý cả hai đầu của vòng lặp đó.

Xử lý cục bộ bảo vệ dữ liệu nhạy cảm

Vì mọi bước đều chạy bằng JavaScript trong trình duyệt của bạn, JSON bạn dán vào không bao giờ rời khỏi máy tính. Đây không phải là lời quảng cáo hào phóng, đây là một đảm bảo thực tế. Bạn có thể dán vào một phản hồi API đầy bearer token, một bản xuất dữ liệu người dùng, hoặc cấu hình dịch vụ nội bộ mà không lo một server bên thứ ba nào ghi log nó. Đóng tab và dữ liệu biến mất. Với bất kỳ ai làm việc theo quy định xử lý dữ liệu, xử lý cục bộ loại bỏ hoàn toàn một danh mục rủi ro.

Khi JSON của bạn đã sạch, bạn có thể tiếp tục. Khám phá phần còn lại của công cụ dành cho lập trình viên, chuyển đổi một cấu trúc với JSON sang YAML, hoặc giải mã một giá trị nhúng bằng Base64. Mỗi công cụ đều theo cùng nguyên tắc: nhanh, miễn phí và được xử lý hoàn toàn trong trình duyệt của bạn.

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

JSON của tôi có được tải lên server không?

Không. Trình định dạng chạy hoàn toàn trong trình duyệt của bạn bằng JavaScript. Dữ liệu của bạn không bao giờ được gửi đi đâu, vì vậy bạn có thể dán an toàn các phản hồi API nhạy cảm hoặc file cấu hình.

Sự khác biệt giữa định dạng và rút gọn là gì?

Định dạng thêm thụt lề và ngắt dòng để JSON dễ đọc. Rút gọn xóa tất cả khoảng trắng không bắt buộc để payload nhỏ nhất có thể. Bản thân dữ liệu hoàn toàn giống nhau ở cả hai dạng.

Tại sao JSON của tôi không qua được kiểm tra hợp lệ?

Các nguyên nhân phổ biến nhất là dấu phẩy thừa ở cuối, dấu nháy đơn thay vì nháy kép, key không có dấu nháy, chú thích, và dấu ngoặc thiếu hoặc không khớp. Trình kiểm tra sẽ chỉ ra dòng xảy ra vấn đề.

Tôi có thể dùng dấu nháy đơn trong JSON không?

Không. Đặc tả JSON yêu cầu dấu nháy kép cho tất cả chuỗi và key. Dấu nháy đơn hợp lệ trong JavaScript nhưng không hợp lệ trong JSON, đây là nguồn gốc lỗi phổ biến.

Công cụ có thay đổi dữ liệu khi định dạng không?

Không. Định dạng chỉ thêm hoặc xóa khoảng trắng. Các key, giá trị và thứ tự của chúng vẫn giữ nguyên như cũ, vì vậy những gì bạn đọc chính là những gì API đã gửi.

Có giới hạn kích thước không?

Vì xử lý diễn ra cục bộ, giới hạn thực tế phụ thuộc vào thiết bị và trình duyệt của bạn chứ không phải giới hạn server. Các phản hồi API và file cấu hình điển hình được định dạng ngay lập tức.