Trung tâm đào tạo thiết kế vi mạch Semicon


  • ĐĂNG KÝ TÀI KHOẢN ĐỂ TRUY CẬP NHIỀU TÀI LIỆU HƠN!
  • Create an account
    *
    *
    *
    *
    *
    Fields marked with an asterisk (*) are required.
wafer.jpg

Những Điểm Thú Vị Của JSON Và Các Hàm Của JSON Trong Javascript

E-mail Print PDF

Nhu cầu trao đổi dữ liệu giữa các nền tảng và công nghệ khác nhau ngày càng lớn. Lúc này, XML(Xtensible Markup Language) trở nên cồng kềnh và làm nặng dữ liệu bởi cấu trúc thẻ của nó. 

Điều đó dẫn tới nhu cầu tạo ra một loại dữ liệu là JSON trong JavaScript nhằm giải quyết vấn đề trao đổi dữ liệu giữa các nền tảng và làm nhẹ dung lượng lưu trữ của dữ liệu trao đổi.

JSON trong Javascript là gì?

su-dung-json-trong-javascript

Sử dụng Json trong Javascript

JSON (JavaScript Object Notation) là một bộ quy tắc về cách trình bày và mô tả dữ liệu trong một chuỗi lớn thống nhất được gọi chung là chuỗi JSON. Đây là một định dạng lightweight, được dùng cho mục đích chia sẻ, lưu trữ dữ liệu – đa số các ứng dụng có sử dụng API đều trả kết quả về dạng JSON. Cặp Key – Value được sử dụng trong JSON trong JavaScript để định dạng dữ liệu. Quy tắc khi định dạng dữ liệu trong JSON:

  • Ký tự { } : dùng để định dạng Object.

  • Ký tự [ ]: dùng để định dạng parse json javascript array.

  • Dữ liệu ở dưới dạng các cặp key-value (tên thuộc tính – giá trị thuộc tính)

  • Key: phải luôn nằm trong dấu ngoặc kép, không được phép là biến số.

  • Value: giá trị của thuộc tính có thể nhận vào 1 trong các loại dữ liệu sau đây: một giá trị chuỗi, một giá trị số, một mảng (giá trị một phần tử của mảng cũng có nguyên tắc tương tự), hay một JSON khác. Không cho phép function, date, undefined.

  • Dữ liệu ngăn cách nhau bởi dấu phẩy.

Ví dụ:

json-trong-javascript-la-gi

JSon trong Javascript là gì

JSON là thuần định dạng dữ liệu — nó chỉ chứa các thuộc tính (properties), không chứa các phương thức. JSON đòi hỏi dấu nháy kép (double quotes) được sử dụng cho các chuỗi, và tên thuộc tính. Dấu nháy đơn (Single quotes) là không hợp lệ. Thậm chí chỉ một dấu phẩy hoặc dấu hai chấm đặt sai vị trí có thể làm cho tập tin JSON bị sai, và không hoạt động.

So sánh JSON với JavaScript Object

Mặc dù JSON rất giống JavaScript Object nhưng vẫn có đặc điểm khác nhau như:

  • Key: luôn luôn phải được đóng gói trong cặp dấu ngoặc kép, không phải ngoặc đơn, cũng không được phép là biến số (variable).

  • Value: Chỉ được phép là những dữ liệu cơ bản như numbers, strings, Boolean, array, object, null, không được phép là function, date, undefined hoặc là một biểu thức tính toán.

  • Không được phép tồn tại dấu phẩy cuối cùng như JavaScript Object.

  • Đối với number thì không được phép có chữ số 0 ở đầu. Ngoài ra, nếu đó là chữ số thập phân thì phải có ít nhất 1 chữ số sau dấu chấm (.).

Ví dụ JSON không hợp lệ:

json-khong-hop-le

Json không hợp lệ

So sánh JSON và XML

Giống nhau:

  • Cả JSON và XML đều “tự mô tả” (con người có thể đọc được).

  • Cả JSON và XML đều được phân cấp (giá trị trong các giá trị).

  • Cả JSON và XML đều có thể được phân tích cú pháp và sử dụng bởi nhiều ngôn ngữ lập trình.

  • Cả JSON và XML đều có thể được lấy bằng XMLHttpRequest.

Khác nhau:

  • JSON không sử dụng thẻ kết thúc

  • JSON ngắn hơn

  • JSON đọc và viết nhanh hơn

  • JSON có thể sử dụng mảng

Các trường hợp sử dụng JSON

Có nhiều tình huống sử dụng JSON:

  • Lưu trữ dữ liệu: có nhiều ứng dụng lưu dữ liệu dưới file dạng JSON.

  • Lưu cấu hình ứng dụng, thông tin xác thực.

  • Trao đổi dữ liệu giữa client – server, giữa các server với nhau.

Có một trường hợp sử dụng JSON khá phổ biến đó chính là Ajax. Kỹ thuật AJAX thường sẽ tạo request tới server và nhận dữ liệu trả về dạng JSON.

JSON.stringify() trong Javascript

JSON.stringify() là một hàm phổ biến của JSON, dùng để convert một JavaScript Object thành JSON string. Trong khi phát triển một ứng dụng bằng JavaScript, cần phải tuần tự hóa dữ liệu thành chuỗi để lưu trữ dữ liệu vào cơ sở dữ liệu hoặc để gửi dữ liệu tới API hoặc máy chủ web, dữ liệu phải ở dạng chuỗi. Việc chuyển đổi một đối tượng thành một chuỗi có thể được thực hiện dễ dàng với sự trợ giúp của hàm JSON.stringify().

Một số trường hợp đặc biệt và lỗi khi sử dụng JSON.stringify():

  • Khi một Object có một property trỏ về chính nó, JSON.stringify() trả về 1 error.

JSON.stringify()-tra-ve-error

JSON.stringify() trả về error

  • Các trường hợp NaN và Infinity, JSON.stringify() sẽ trả về null.

JSON.stringify()-se-tra-ve-null

JSON.stringify() sẽ trả về null

  • Lọc bỏ hết tất cả các giá trị undefined hay function

cac-gia-tri-undefined-hay-function

các giá trị undefined hay function

JSON.parse() trong Javascript

JSON.parse() dùng để convert string biểu diễn JSON thành JavaScript Object. Đây là cách sử dụng phổ biến khi trao đổi dữ liệu với web server. Khi nhận dữ liệu từ server, dữ liệu thường được nhận dưới dạng string, JSON.parse sẽ đưa dữ liệu trở thành đối tượng trong Javascript.

Hàm JSON.parse() là đồng bộ,do đó, tệp JSON càng lớn, thời gian thực hiện chương trình sẽ bị chặn tới khi JSON hoàn thành phân tích cú pháp.

Có thể thay đổi giá trị thuộc tính của JSON bằng cách truy cập tên thuộc tính.

gia-tri-cua-json

Giá trị của Json

Ngoại lệ: 

Đối tượng “date” không được cho phép trong JSON, nếu cần sử dụng “date” thì phải viết dưới dạng chuỗi string.

ngoai-le-cua-json

Ngoại lệ của json

Hàm function cũng không được cho phép trong JSON, nếu muốn sử dụng thì cần viết dưới dạng chuỗi

ngoai-le-khi-su-dung-json

Ngoại lệ khi sử dụng json

Bạn Có Đam Mê Với Vi Mạch hay Nhúng      -     Bạn Muốn Trau Dồi Thêm Kĩ Năng

Mong Muốn Có Thêm Cơ Hội Trong Công Việc

Và Trở Thành Một Người Có Giá Trị Hơn

Bạn Chưa Biết Phương Thức Nào Nhanh Chóng Để Đạt Được Chúng

Hãy Để Chúng Tôi Hỗ Trợ Cho Bạn. SEMICON  

 

  

Last Updated ( Saturday, 03 October 2020 23:24 )  

Related Articles

Chat Zalo