Giới thiệu về JSON

JSON là một định dạng tuyệt vời để lưu trữ dữ liệu, được sử dụng rộng rãi trong JavaScript nhưng không chỉ - hãy khám phá tất cả về nó!

JSON là một định dạng tệp được sử dụng để lưu trữ và trao đổi dữ liệu.

Dữ liệu được lưu trữ trong một tập hợp các cặp khóa-giá trị.

Dữ liệu này con người có thể đọc được, điều này làm cho JSON hoàn hảo để chỉnh sửa thủ công.

Đây là ví dụ về chuỗi JSON:

{
  "name": "Flavio",
  "age": 35
}

Từ đoạn mã nhỏ này, bạn có thể thấy rằng các khóa được đặt trong dấu ngoặc kép, dấu hai chấm phân tách khóa và giá trị, đồng thời giá trị có thể thuộc nhiều loại khác nhau.

Các bộ khóa-giá trị được phân tách bằng dấu phẩy.

Khoảng cách (dấu cách, tab, dòng mới) không quan trọng trong tệp JSON. Ở trên tương đương với

{"name": "Flavio","age": 35}

hoặc là

{"name":
"Flavio","age":
35}

nhưng dữ liệu luôn được định dạng tốt sẽ dễ hiểu hơn.

JSON ra đời vào năm 2002 và cực kỳ phổ biến nhờ tính dễ sử dụng và tính linh hoạt, và mặc dù được sinh ra từ thế giới JavaScript, nó nhanh chóng lan rộng ra các ngôn ngữ lập trình khác.

Nó được định nghĩa trongTiêu chuẩn ECMA-404.

Chuỗi JSON thường được lưu trữ trong.jsontệp và được truyền qua mạng vớiapplication/jsonLoại MIME.

Loại dữ liệu

JSON hỗ trợ một số kiểu dữ liệu cơ bản:

  • Number: bất kỳ số nào không nằm trong dấu ngoặc kép
  • String: bất kỳ bộ ký tự nào được đặt trong dấu ngoặc kép
  • Boolean:truehoặc làfalse
  • Array: danh sách các giá trị, được đặt trong dấu ngoặc vuông
  • Object: một tập hợp các cặp khóa-giá trị, được bao bọc trong dấu ngoặc nhọn
  • null: cácnulltừ, đại diện cho một giá trị trống

Bất kỳ kiểu dữ liệu nào khác phải được tuần tự hóa thành một chuỗi (và sau đó được hủy tuần tự hóa) để được lưu trữ trong JSON.

Mã hóa và giải mã JSON trong JavaScript

ECMAScript 5 năm 2009 đã giới thiệuJSONđối tượng trong tiêu chuẩn JavaScript, trong số những thứ khác cung cấpJSON.parse()JSON.stringify()các phương pháp.

Trước khi nó có thể được sử dụng trong một chương trình JavaScript, JSON ở định dạng chuỗi phải được phân tích cú pháp và chuyển đổi thành dữ liệu mà JavaScript có thể sử dụng.

JSON.parse()nhận một chuỗi JSON làm tham số của nó và trả về một đối tượng có chứa JSON đã được phân tích cú pháp:

JSON.stringify()lấy một đối tượng JavaScript làm tham số của nó và trả về một chuỗi đại diện cho nó trong JSON:

JSON.parse()cũng có thể chấp nhận một đối số thứ hai tùy chọn, được gọi là hàm phục hồi. Bạn có thể sử dụng nó để kết nối với phân tích cú pháp và thực hiện bất kỳ thao tác tùy chỉnh nào:

JSON.parse(string, (key, value) => {
  if (key === 'name') {
    return `Name: ${value}`
  } else {
    return value
  }
})

Làm tổ các đối tượng

Bạn có thể sắp xếp dữ liệu trong một tệp JSON bằng cách sử dụng một đối tượng lồng nhau:

{
  "name": {
    "firstName": "Flavio",
    "lastName": "Copes"
  },
  "age": 35,
  "dogs": [
    { "name": "Roger" },
    { "name": "Syd" }
  ],
  "country": {
    "details": {
      "name": "Italy"
    }
  }
}

Các công cụ trực tuyến để làm việc với JSON

Có rất nhiều công cụ hữu ích mà bạn có thể sử dụng.

Một trong số đó làJSONLint, Trình xác thực JSON. Sử dụng nó, bạn có thể xác minh xem một chuỗi JSON có hợp lệ hay không.

JSONFormatterlà một công cụ tốt để định dạng một chuỗi JSON để nó dễ đọc hơn theo quy ước của bạn.

Lược đồ JSON

Mặc dù JSON rất linh hoạt ngay từ đầu, nhưng đôi khi bạn cần tổ chức chặt chẽ hơn một chút để giữ mọi thứ đúng vị trí.

Đây là khiLược đồ JSONtham gia chơi. Đó là một cách để chú thích và xác thực tài liệu JSON theo một số định dạng cụ thể mà bạn tạo.

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác: