Công cụ văn bản

Trình định dạng và xem JSON

Dán JSON, nó sẽ được làm đẹp ngay lập tức tại chỗ; nhấp vào bất kỳ trường nào để xem giá trị đầy đủ và đường dẫn của nó ở bên phải. Lỗi cú pháp được đánh dấu hàng và cột, tất cả được thực hiện cục bộ trong trình duyệt.

Làm đẹp và nén Nhấp để xem trường Xác định vị trí lỗi hàng và cột Xử lý cục bộ 100%
Thụt lùi

Tại sao cần nó

Công cụ tiện dụng cho người phải đọc JSON mỗi ngày

Phản hồi API, tệp cấu hình, tải nhật ký – JSON thô thường là một dòng không thể đọc. Biến nó thành dạng có thể đọc, tìm dấu phẩy sai, và định dạng lại theo mong muốn.

01

Chuyển đổi một cú nhấp giữa làm đẹp và nén

Chuyển đổi một cú nhấp giữa cấu trúc cây dễ đọc cho con người và dòng đơn dễ truyền cho máy, chọn thụt đầu dòng 2 khoảng trắng, 4 khoảng trắng, Tab theo phong cách codebase của bạn.

02

Định vị lỗi theo dòng và cột

Lỗi cú pháp trực tiếp đưa ra tọa độ dòng-cột như L12 : C34, thay vì một thông báo lỗi trình phân tích khó hiểu, biết rõ thiếu dấu phẩy hay dấu ngoặc kép nào.

03

Sắp xếp đệ quy tên khóa

Khóa đối tượng được sắp xếp theo thứ tự chữ cái ở mỗi lớp đệ quy, phần tử mảng giữ nguyên thứ tự gốc. Rất hữu ích khi so sánh cấu hình, cố định bộ thử nghiệm.

04

Escape / unescape chuỗi

Biến toàn bộ JSON thành chuỗi literal, dễ dàng chèn vào code hoặc biến môi trường; cũng có thể khôi phục literal dạng {\"a\":1} trong nhật ký về JSON gốc.

05

Nhấp vào trường để xem nội dung đầy đủ

Nhấp vào bất kỳ trường nào trong vùng làm việc, thanh bên phải sẽ mở ra hiển thị giá trị đầy đủ, loại và đường dẫn JSON của nó; bạn cũng có thể xem toàn bộ đối tượng lồng nhau và mảng, không cần đếm dấu ngoặc để xác nhận nội dung nữa.

06

Hoàn toàn hoạt động cục bộ

JSON không rời khỏi trình duyệt, công cụ có thể dùng ngoại tuyến, và sẽ không gửi bất kỳ yêu cầu nào khi đầu vào trống.

Hướng dẫn sử dụng

Khoảng thụt đầu dòng có thể chuyển giữa 2 khoảng trắng, 4 khoảng trắng và Tab; cần khi truyền cho máy có thể nén thành một dòng với một cú nhấp, cần thứ tự ổn định có thể sắp xếp đệ quy tên khóa đối tượng, cũng có thể thoát toàn bộ JSON thành chuỗi ký tự hoặc khôi phục các ký tự đã thoát trong nhật ký.

Nhấp vào bất kỳ trường nào có thể xem toàn bộ nội dung của nó trong thanh bên phải; số lượng khóa, phần tử mảng và độ sâu lồng nhau được thống kê theo thời gian thực với đầu vào. Trên cùng một trang có thể hiển thị nhiều JSON để so sánh, mỗi nội dung không ảnh hưởng lẫn nhau. Tất cả xử lý đều được thực hiện cục bộ trong trình duyệt, nội dung sẽ không được tải lên.

Công cụ JSON khác

Các công cụ bên thứ ba được chọn theo mục đích, trang này không triển khai lặp lại, hãy sử dụng khi cần.

Công cụ Mục đích Tính năng chính
JSON Editor Online Chỉnh sửa và kiểm tra tính hợp lệ Hai cột văn bản và cây dữ liệu đồng bộ, có thể kéo thả điều chỉnh cấu trúc, tích hợp Diff, kiểm tra Schema và truy vấn.
JSON Crack Trực quan hóa Vẽ JSON thành biểu đồ nút tương tác, phù hợp để hiểu nhanh cấu trúc lồng ghép phức tạp và trình bày.
JSON Visio Trực quan hóa Một trình xem đồ họa khác, giao diện nhẹ hơn, bạn có thể chọn giữa công cụ này và JSON Crack theo sở thích.
Diffchecker So sánh So sánh hai đoạn văn bản theo chế độ song song hoặc thống nhất, nhanh chóng xác định dòng mới, xóa và chỉnh sửa.
JSONPath Truy vấn Thực thi biểu thức JSONPath trực tuyến, lấy các trường mong muốn từ JSON theo đường dẫn.
JSONata Truy vấn và chuyển đổi Ngôn ngữ biểu thức để truy vấn và chuyển đổi JSON, có playground trực tuyến và ví dụ tham khảo.
quicktype Tạo kiểu dữ liệu Chuyển JSON thành định nghĩa kiểu dữ liệu cho các ngôn ngữ như TypeScript, Swift, Go, v.v.
JSON Generator Tạo dữ liệu Tạo dữ liệu mock có cấu trúc bằng mẫu, phù hợp để tạo mẫu dùng cho thử nghiệm API.

Chi tiết về định dạng JSON

JSON trông đơn giản, nhưng thực tế có một vài quy tắc bắt buộc - hiểu chúng sẽ giúp bạn dễ dàng hơn khi trình phân từ từ chối dữ liệu của bạn.

JSON nào được coi là hợp lệ?

JSON chỉ định nghĩa sáu kiểu giá trị: đối tượng, mảng, chuỗi, số, giá trị boolean và null. Khóa phải là chuỗi được đặt trong dấu ngoặc kép, không cho phép dấu phẩy thừa và cũng không cho phép bình luận.

Dấu ngoặc đơn, undefined, NaN, Infinity và dấu phẩy cuối cùng trong JavaScript sẽ không được trình phân tích cú pháp nghiêm ngặt chấp nhận - công cụ này chính là công cụ đánh dấu các vấn đề đó.

「Xem」 và 「Định dạng」 khác nhau như thế nào?

Định dạng thay đổi bố cục văn bản: thụt dòng, ngắt dòng và nén. Xem thì không thay đổi văn bản gốc, chỉ khi bạn nhấp vào một trường, nó sẽ hiển thị giá trị đầy đủ, kiểu dữ liệu và đường dẫn JSON của nó trong hộp bên phải.

Các đối tượng lồng nhau sâu trong khu vực chỉnh sửa thường chỉ còn các dấu ngoặc xếp lớp, sử dụng chức năng xem bằng cách nhấp có thể xác nhận trực tiếp nội dung thực tế của một trường nào đó, đặc biệt tiện lợi khi đọc phản hồi API và nội dung nhật ký.

Tại sao thứ tự khóa thay đổi sau khi định dạng?

Tiêu chuẩn JSON coi đối tượng là cặp khóa-giá trị không có thứ tự, trình phân tích cú pháp có thể sắp xếp lại tùy ý. Thực tế V8 (Chrome / Node) duy trì thứ tự chèn đối với khóa dạng chuỗi, nhưng các khóa dạng số ("1", "42") luôn được sắp xếp theo thứ tự số ở đầu.

Nếu bạn cần một thứ tự ổn định trên tất cả trình phân tích cú pháp, hãy mở 「Sắp xếp khóa đối tượng」- sắp xếp đệ quy theo thứ tự bảng chữ cái, đặc biệt hữu ích khi so sánh tệp cấu hình.

JSON có thể biểu thị số có độ lớn bao nhiêu?

JSON tự nó không có giới hạn, nhưng JavaScript phân tích tất cả các số thành số dấu phẩy động kép IEEE-754: các số nguyên vượt quá ±2^53 (khoảng 9 triệu tỷ) sẽ bị mất độ chính xác – 9007199254740993 sẽ trở thành 9007199254740992.

Nếu payload có ID 64 bit hoặc dấu thời gian nanoseconde, hãy giữ dưới dạng chuỗi; công cụ này sẽ không làm hỏng chúng, nhưng việc dán vào mã JS thì sẽ.

Khi nào nên nén thay vì làm đẹp?

Làm đẹp cho các trường hợp người đọc: xem lại mã, gỡ lỗi, viết tài liệu. Nén cho các trường hợp máy truyền: body yêu cầu API, tham số URL, biến môi trường, tệp .env.

Payload API điển hình khi nén có thể tiết kiệm 15–30% byte và cấu trúc không thay đổi – đây là cách nén rẻ nhất.

Mục đích của việc escape là gì?

Escape đóng gói JSON thành ký tự chuỗi: dấu ngoặc kép trở thành \",dòng mới trở thành \n,để nó có thể được nhúng an toàn vào một giá trị JSON khác, lệnh shell hoặc biến môi trường.

Unescape là quá trình khôi phục. Nếu bạn đã từng sao chép nội dung dưới dạng {\"a\":1} từ nhật ký, đó là định dạng đã được escape – chỉ cần dán vào và nhấn「Unescape」.

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

JSON của tôi có bị tải lên hoặc lưu lại không?

Không. Tất cả xử lý đều thực hiện trong trình duyệt bằng JavaScript, không có yêu cầu nào gửi JSON đi, và có thể sử dụng ngoại tuyến; cũng không ghi vào bất kỳ bộ lưu trữ cục bộ nào, nội dung nhập sẽ bị xóa sau khi làm mới trang.

Tại sao việc định dạng tệp cấu hình của tôi thất bại?

Không phải do JSON nghiêm ngặt: JSONC / JSON5 cho phép chú thích và dấu phẩy ở cuối, YAML dựa vào thụt đầu dòng để biểu thị phân cấp, .env là định dạng key=value. Hãy thử xóa các chú thích và dấu phẩy ở cuối, hoặc sử dụng trình phân tích cú pháp tương ứng với định dạng đó.

Việc sắp xếp khóa có ảnh hưởng đến mảng không?

Không. Thứ tự của mảng có ý nghĩa riêng (phần tử thứ nhất, thứ hai,...) và sẽ luôn giữ nguyên; chỉ các khóa của đối tượng (bao gồm các đối tượng lồng trong mảng) sẽ được sắp xếp lại theo thứ tự bảng chữ cái một cách đệ quy.

"Vị trí lỗi L12 : C34" có nghĩa là gì?

Chỉ vị trí mà trình phân tích đã từ bỏ phân tích: dòng 12, cột 34 (bắt đầu từ 1). Lỗi thực tế thường ở ngay vị trí này hoặc ngay trước đó - ví dụ: thiếu dấu phẩy ở dòng trên, dấu ngoặc đơn không được thoát, hoặc có dấu phẩy thừa trước dấu ngoặc đóng.

Có giới hạn kích thước không? Có thể sử dụng trên điện thoại không?

Không có giới hạn cứng - định dạng các tệp log có dung lượng vài MB hoạt động bình thường. Đối với đầu vào rất lớn (hàng chục MB), có thể hơi chậm trên các thiết bị cấp thấp vì trình phân tích và định dạng sẽ chạy lại mỗi khi bạn nhấn phím. Trang này là phản hồi, vùng chỉnh sửa sẽ tự điều chỉnh theo chiều rộng màn hình.

Công cụ liên quan