Nội dung bài viết
#

JSON là gì? Tính năng nổi bật của JSON, so sánh JSON vs XML

Nội dung bài viết

    JSON là một trong những kiểu định dạng dữ liệu phổ biến và được nhiều người dùng lựa chọn sử dụng nhất hiện nay. Hãy cùng BKHOST đi tìm hiểu về nguồn gốc, lợi ích, tầm quan trọng và lý do vì sao nên sử dụng JSON cho trình duyệt của bạn.

    JSON là gì?

    JSON la gi

    JSON – JavaScript Object Notation là một kiểu định dạng dữ liệu dạng văn bản tuân theo các quy luật nhất định dựa trên cặp key-value và một danh sách theo thứ tự. Bởi vì có nguồn gốc từ JavaScript nên JSON được hỗ trợ trong hầu hết các ngôn ngữ lập trình để trao đổi thông tin giữa Web Clients và Web Servers.

    JSON được sử dụng phổ biến trên web trong suốt 15 năm qua và bây giờ được xem là định dạng dành cho tất cả dịch vụ web từ công khai đến riêng tư. Có nhiều cơ sở dữ liệu quan hệ khác nhau hỗ trợ lưu trữ và truy vấn JSON gốc như PostgreSQL và MySQL. Hay với cơ sở dữ liệu NoSQLMongoDB phiên bản nhị phân và Neo4j cũng hỗ trợ JSON.

    Ví dụ về JSON

    Lấy ví dụ về cách mà JSON mã hoá dữ liệu:

    {{EJS0}}

    Trên đây là các thuộc tính của một người cụ thể gồm họ và tên, số lần đăng nhập, nghề nghiệp, danh sách công ty đã làm việc, danh sách thú cưng…Cấu trúc này có thể được chuyển từ máy chủ đến trình duyệt web hoặc ứng dụng di động để thực hiện một số thao tác như hiển thị dữ liệu hoặc lưu trữ.

    JSON là định dạng dữ liệu chung gồm các kiểu giá trị như strings, numbers, booleans, lists, objects, và null. Đây là các kiểu giá trị phổ biến trong hầu hết các ngôn ngữ lập trình hiện nay và JSON là một trong những lựa chọn thích hợp trong việc truyền dữ liệu.

    File JSON

    Các dữ liệu của JSON được lưu trữ trực tiếp trong các tệp mở rộng .json là các tệp văn bản thuần túy, dễ sử dụng và kiểm tra. Chẳng hạn như blog SQLizer giải thích phù hợp với khả năng tương tác mở rộng của JSON. Cho phép các ngôn ngữ có thể đặt tên có khả năng đọc và xử lý các tệp văn bản thuần túy và được gửi đi thông qua Internet.

    Tại sao nên sử dụng JSON?

    Lịch sử tương tác ảnh hưởng đến lợi ích và tầm quan trọng của JSON như:

    Đầu những năm 2000, các website có một số thay đổi về khả năng tương tác. Hầu hết các trình duyệt chính hoạt động giống như một dumb client có khả năng hiển thị thông tin. Hay một máy chủ thực hiện các công việc phức tạp cho nội dung hiển thị. Nếu một liên kết hoặc nút kích hoạt thì máy chủ sẽ nhận được một yêu cầu chuẩn bị thông tin cần thiết dưới dạng HTML. Sau đó trình duyệt sẽ hiển thị HTML đó dưới dạng một trang mới. Tuy nhiên, để không làm ảnh hưởng đến hiệu suất hoạt động thì trình duyệt sẽ hiển thị lại mọi thứ trên trang ngay cả khi chỉ một phần của trang đã thay đổi. Quá trình này cần nhiều tài nguyên nên nhà phát triển web đã sử dụng các công nghệ hiện đại nhằm cải thiện trải nghiệm của người dùng.

    Internet Explorer đã được bổ sung khả năng thực hiện cầu cầu web ở chế độ nền khi đang hiển thị một trang. Tức là chỉ cần nhấp vào nút làm mới thì một trang web yêu cầu sẽ được kích hoạt ở chế độ nền. Đây là một cách tiếp cận khả thi nhất giúp lưu và hiển thị dữ liệu trên trang thông qua JavaScript.

    Kết nối JSON trong REST vs SOAP

    Các dữ liệu ban đầu dựa vào giao thức SOAP để định dạng XML. Thay vì quản lý các XML phức tạp thì JavaScript sử dụng các đối tượng để thể hiện dữ liệu trong ngôn ngữ. Sau đó, Douglas Crockford lấy một tập hợp con của biểu thức đó làm mô tả cho một định dạng trao đổi dữ liệu mới có tên là JSON. Kiểu định dạng dữ liệu này trở nên đơn giản và dễ sử dụng hơn với hầu hết người dùng và các trình duyệt phân tích cú pháp.

    Trong những năm ’00s, một kiểu truyền dữ liệu mới dành cho dịch vụ công nghệ Web đó là REST. Khả thi hơn so với SOAP bởi nó được lập trình bằng API REST cho phép sử dụng nhiều định dạng dữ liệu khác nhau như XML, JSON và HTML.

    JSON được lựa chọn sử dụng nhiều hơn so với XML cũng như yêu thích REST hơn so với SOAP. Bởi JSON là tiêu chuẩn trong việc trao đổi dữ liệu giữa web clients, các thiết bị di động và dịch vụ back-end.

    So sánh JSON và XML

    Hầu hết với các hệ thống hiện đại hiện nay ưa chuộng JSON hơn là XML.

    Chằng hạn như một phiên bản dữ liệu của JSON ở định dạng XML:

    {{EJS1}}

    Cấu trúc XML này không chỉ dài và phức tạp mà còn không hiệu quả trong việc phân tích cú pháp thành một cấu trúc dữ liệu khả thi với JavaScript. Để chuyển XML sang JavaScript cần tới hàng trăm dòng mã và yêu cầu tùy chỉnh dựa trên đối tượng cụ thể đang được phân tích cú pháp.

    Hạn chế của JSON

    JSON có một số hạn chế như:

    • Không có schema nên người dùng sẽ phải tự trình bày dữ liệu theo mong muốn. Đối với những người dùng mới hoặc ít kiến thức sẽ dễ dàng tạo ra dữ liệu định dạng sai.
    • Hạn chế về kiểu dữ liệu number, chẳng hạn như định dạng dấu phẩy động chính xác kép IEEE-754. Điều này không thể tận dụng các loại số đa dạng và có sẵn trong nhiều ngôn ngữ lập trình.
    • Không có kiểu dữ liệu date nên các nhà phát triển phải sử dụng chuỗi biểu thị ngày. Vì vậy mà JSON có định dạng ngày ở dạng mili giây.
    • Không thể chú thích nội dòng hay yêu cầu tài liệu bổ sung gây ra nhiều rắc rối.
    • JSON ngắn gọn nhưng chưa phải là một định dạng trao đổi dữ liệu tối ưu hoá nhất.

    Khi nào nên sử dụng JSON?

    Một số trường hợp nên sử dụng JSON:

    • JSON hỗ trợ viết phần mềm giao tiếp với trình duyệt và ứng dụng di động gốc.
    • JSON là lựa chọn tốt trong việc thực thi giao tiếp giữa các máy chủ với nhau.
    • Cơ sở dữ liệu quan hệ hỗ trợ kiểu JSON được điều chỉnh dành cho cấu trúc phù hợp với một lược đồ cụ thể.
    • Trường hợp gửi dữ liệu giữa các Web Server, trình duyệt và ứng dụng di động hãy lựa chọn JSON với khả năng linh hoạt, dễ thao tác bằng ngôn ngữ lập trình mong muốn.

    Trình phân tích cú pháp JSON

    Phần mã của ứng dụng được chuyển từ định dạng JSON thành JavaScript với phương thức JSON.parse() là một định dạng phân tích cú pháp gốc dành cho ứng dụng.

    Các ngôn ngữ hiện đại như Scala và Elm sử dụng JSON gồm các thư viện và tiện ích hỗ trợ người dùng giải quyết các vấn đề phức tạp.

    Trang web json.org là một danh sách đầy đủ các thư viện mã hỗ trợ phân tích cú pháp, thiết lập và thao tác JSON bằng nhiều ngôn ngữ khác nhau như Python, C # và COBOL.

    Một số tiện ích của JSON

    Các tiện ích trực tuyến được sử dụng để kiểm tra dữ liệu được mã hóa JSON trực tiếp mà không cần tự viết mã:

    • JSON Formatter: JSONLint có khả năng định dạng và xác thực mã JSON tùy ý.
    • JSON Viewer: Stack.hu với trang web có sẵn để tạo một cây tương tác hướng dẫn chi tiết về cấu trúc mã JSON bất kỳ.
    • JSON Beautifier: Các tính năng mới như tô màu cú pháp và những thứ tương tự cho JSON hãy sử dụng Prettydiff.
    • JSON Converter: Với các công cụ có sẵn cho phép chuyển đổi JSON thành CSV/XML dễ dàng hơn.

    Tổng kết về JSON

    Hy vọng với những thông tin mà chúng tôi đã chia sẻ trên đây đã giúp bạn đọc hiểu hơn về JSON và các ứng dụng, cấu trúc hay tầm quan trọng mà nó mang lại cho Web Clients và Web Servers.

    Nếu bạn có thắc mắc về JSON, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

    Thuê Cloud VPS Cao Cấp tại BKHOST

    Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay:

    dịch vụ máy chủ ảo

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận
    Trượt lên đầu trang
    Miễn phí cước gọi
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !