Cách hiển thị JSON ở định dạng có thể đọc được bằng JavaScript

Cách hiển thị JSON ở định dạng có thể đọc được bằng JavaScript
JavaScript

Tăng cường khả năng đọc JSON bằng JavaScript

JSON (Ký hiệu đối tượng JavaScript) là định dạng dữ liệu phổ biến được sử dụng để truyền thông tin giữa máy chủ và ứng dụng web. Mặc dù máy có thể phân tích cú pháp một cách hiệu quả nhưng JSON có thể gây khó khăn cho con người khi đọc khi nó thiếu định dạng phù hợp. Thụt lề, khoảng trắng và thậm chí cả các yếu tố phong cách như màu sắc và phông chữ có thể tạo ra sự khác biệt đáng kể về khả năng đọc.

Trong bài viết này, chúng ta sẽ khám phá các kỹ thuật khác nhau để in JSON đẹp bằng JavaScript. Cho dù bạn là nhà phát triển đang gỡ lỗi phản hồi API hay chỉ cần trình bày dữ liệu rõ ràng hơn, những phương pháp này sẽ giúp bạn đạt được hiển thị JSON thân thiện với con người.

Yêu cầu Sự miêu tả
JSON.stringify(json, undefined, 4) Chuyển đổi một đối tượng JavaScript thành chuỗi JSON có thụt lề 4 dấu cách để dễ đọc.
json.replace(/&/g, '<').replace(//g, '>') Thay thế các ký tự đặc biệt trong chuỗi JSON để ngăn việc chèn HTML.
return '<span class="' + cls + '">' + match + '</span>' Bao bọc các phần tử JSON phù hợp trong thẻ span bằng các lớp cụ thể để làm nổi bật cú pháp.
document.body.innerHTML = '<pre>' + syntaxHighlight(json) + '</pre>' Đặt HTML bên trong của nội dung tài liệu để hiển thị JSON được in đẹp mắt.
const http = require('http') Bao gồm mô-đun HTTP trong tập lệnh Node.js để tạo máy chủ web.
http.createServer((req, res) =>http.createServer((req, res) => { ... }).listen(3000) Tạo một máy chủ HTTP lắng nghe các yêu cầu đến trên cổng 3000.
res.writeHead(200, {'Content-Type': 'application/json'}) Đặt tiêu đề HTTP phản hồi để cho biết loại nội dung là JSON.
res.end(JSON.stringify(jsonData, null, 4)) Gửi dữ liệu JSON được in đẹp dưới dạng phản hồi cho khách hàng.

Cách hoạt động của các tập lệnh JSON in đẹp

Trong tập lệnh đầu tiên, chúng tôi sử dụng JavaScript để định dạng và hiển thị JSON theo cách dễ đọc hơn. Chức năng syntaxHighlight lấy một đối tượng JSON làm đầu vào và chuyển đổi nó thành một chuỗi với JSON.stringify, áp dụng thụt lề 4 dấu cách. Sau đó, hàm này sẽ thay thế các ký tự đặc biệt để ngăn việc chèn HTML bằng cách sử dụng json.replace. Nó cũng sử dụng một biểu thức chính quy để khớp với các phần tử JSON khác nhau như chuỗi, số, boolean và giá trị null, gói từng phần tử khớp trong <span> các thẻ có lớp thích hợp để làm nổi bật cú pháp. Cuối cùng, chúng tôi sử dụng document.body.innerHTML để chèn JSON được định dạng vào trang web.

Tập lệnh thứ hai thể hiện định dạng JSON phía máy chủ bằng Node.js. Ở đây, chúng tôi bắt đầu bằng cách yêu cầu http mô-đun để tạo một máy chủ HTTP. Chúng tôi xác định một đối tượng JSON mẫu và thiết lập máy chủ để lắng nghe trên cổng 3000. Khi nhận được yêu cầu, máy chủ sẽ phản hồi bằng chuỗi JSON. Chúng tôi sử dụng res.writeHead để đặt tiêu đề phản hồi, cho biết loại nội dung là JSON. Đối tượng JSON sau đó được chuyển đổi thành một chuỗi được in đẹp bằng cách sử dụng JSON.stringify với thụt lề 4 dấu cách và gửi lại cho khách hàng bằng cách sử dụng số 8. Cách tiếp cận này đảm bảo rằng dữ liệu JSON có thể dễ dàng đọc được, cho dù được hiển thị trên trang web hay nhận được từ máy chủ.

Định dạng JSON để cải thiện khả năng đọc trong JavaScript

Tập lệnh giao diện người dùng JavaScript để in JSON đẹp mắt bằng cách thụt lề và tô sáng cú pháp

// Function to pretty-print JSON with colors and indentation
function syntaxHighlight(json) {
    json = JSON.stringify(json, undefined, 4);
    json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
    return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?)|(\b(true|false|null)\b)|(\b-?\d+(\.\d*)?([eE][+-]?\d+)?\b)/g, function (match) {
        var cls = 'number';
        if (/^"/.test(match)) {
            if (/:$/.test(match)) {
                cls = 'key';
            } else {
                cls = 'string';
            }
        } else if (/true|false/.test(match)) {
            cls = 'boolean';
        } else if (/null/.test(match)) {
            cls = 'null';
        }
        return '<span class="' + cls + '">' + match + '</span>';
    });
}
// Example usage
var json = { "name": "John", "age": 30, "city": "New York" };
document.body.innerHTML = '<pre>' + syntaxHighlight(json) + '</pre>';

Định dạng JSON phía máy chủ với Node.js

Tập lệnh back-end của Node.js để in JSON đẹp mắt bằng cách thụt lề

// Required module
const http = require('http');
// Sample JSON data
const jsonData = { "name": "Alice", "age": 25, "city": "Wonderland" };
// Server setup
http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'application/json'});
    // Pretty-print JSON with 4-space indentation
    res.end(JSON.stringify(jsonData, null, 4));
}).listen(3000, () => {
    console.log('Server running at http://localhost:3000/');
});

Kỹ thuật nâng cao để in JSON đẹp trong JavaScript

Mặc dù việc thụt lề cơ bản và đánh dấu cú pháp là cần thiết để làm cho dữ liệu JSON dễ đọc hơn nhưng các kỹ thuật nâng cao có thể nâng cao hơn nữa bản trình bày. Một kỹ thuật như vậy là sử dụng các thư viện của bên thứ ba như Highlight.js hoặc Prism.js. Các thư viện này cung cấp khả năng đánh dấu cú pháp mở rộng, cho phép các nhà phát triển áp dụng các kiểu nhất quán và hấp dẫn trên các định dạng mã khác nhau. Bằng cách tích hợp các thư viện này, bạn không chỉ có thể định dạng JSON mà còn đảm bảo rằng màu sắc và kiểu dáng phù hợp với ngôn ngữ thiết kế tổng thể của bạn. Ngoài ra, các thư viện này còn cung cấp các tùy chọn tùy chỉnh để phù hợp với nhu cầu thẩm mỹ cụ thể của ứng dụng hoặc trang web của bạn.

Một phương pháp nâng cao khác liên quan đến việc tạo trình xem JSON tương tác. Những trình xem này cho phép người dùng thu gọn và mở rộng các phần của dữ liệu JSON, giúp điều hướng qua các tập dữ liệu lớn dễ dàng hơn. Các thư viện như JSONEditor và Ace Editor rất tuyệt vời cho mục đích này. Họ cung cấp các tính năng như chế độ xem dạng cây, chế độ xem mã và thậm chí cả trình soạn thảo văn bản hỗ trợ xác thực lược đồ JSON. Bằng cách triển khai trình xem tương tác, bạn có thể cải thiện đáng kể trải nghiệm người dùng, đặc biệt khi xử lý các cấu trúc JSON phức tạp hoặc lồng nhau.

Câu hỏi thường gặp về JSON in đẹp

  1. Bản in đẹp trong JSON là gì?
  2. Tính năng in đẹp trong JSON đề cập đến việc định dạng dữ liệu JSON bằng cách thụt lề và khoảng trắng để con người dễ đọc hơn.
  3. Tại sao JSON in đẹp lại quan trọng?
  4. JSON in đẹp rất quan trọng vì nó tăng cường khả năng đọc và giúp các nhà phát triển gỡ lỗi và hiểu cấu trúc dữ liệu hiệu quả hơn.
  5. Làm cách nào tôi có thể in JSON đẹp bằng JavaScript?
  6. Bạn có thể dùng JSON.stringify phương thức có tham số thụt lề để định dạng dữ liệu JSON trong JavaScript.
  7. Một số thư viện để định dạng JSON nâng cao là gì?
  8. Highlight.js, Prism.js, JSONEditor và Ace Editor là những thư viện phổ biến để định dạng và xem JSON nâng cao.
  9. Tôi có thể áp dụng kiểu tùy chỉnh cho JSON được in đẹp không?
  10. Có, bằng cách sử dụng các thư viện như Highlight.js hoặc CSS tùy chỉnh, bạn có thể áp dụng các màu và kiểu cụ thể cho các phần khác nhau của dữ liệu JSON.
  11. Có thể tạo trình xem JSON tương tác không?
  12. Có, bạn có thể tạo trình xem JSON tương tác bằng cách sử dụng các thư viện như JSONEditor và Ace Editor, cho phép người dùng thu gọn và mở rộng các phần của dữ liệu JSON.
  13. Mục đích của việc này là gì json.replace phương pháp trong kịch bản?
  14. Các json.replace phương thức được sử dụng để thoát các ký tự đặc biệt trong chuỗi JSON nhằm ngăn chặn việc tiêm HTML.
  15. Làm cách nào để bạn xử lý các tập dữ liệu JSON lớn?
  16. Đối với tập dữ liệu JSON lớn, trình xem tương tác và cấu trúc cây có thể giúp người dùng điều hướng và hiểu dữ liệu hiệu quả hơn.
  17. Tôi có thể sử dụng tập lệnh phía máy chủ để in JSON đẹp không?
  18. Có, các ngôn ngữ kịch bản phía máy chủ như Node.js có thể được sử dụng để định dạng và phân phát dữ liệu JSON được in đẹp mắt.

Suy nghĩ cuối cùng về kỹ thuật định dạng JSON

JSON in đẹp rất quan trọng để nâng cao khả năng đọc và khả năng sử dụng của dữ liệu, đặc biệt là trong quá trình gỡ lỗi và phát triển. Bằng cách sử dụng JavaScript và các thư viện khác nhau, bạn có thể dễ dàng định dạng JSON với mức thụt lề, khoảng trắng và thậm chí cả màu sắc thích hợp. Việc triển khai các kỹ thuật nâng cao như trình xem tương tác sẽ cải thiện hơn nữa trải nghiệm người dùng, giúp điều hướng và hiểu các cấu trúc JSON phức tạp dễ dàng hơn. Cuối cùng, những phương pháp và công cụ này là vô giá đối với các nhà phát triển làm việc với dữ liệu JSON.