JSON là gì?

    Mình đang học về lập trình, mình tiếp xúc với nhiều kiến thức trong đó mình có học về Json, chắc mới học nên mình vẫn chưa nắm rõ về Json. Có bạn nào học qua rồi hoặc có kiến thức về mảng này có thể giải thích dùm mình về Json được không? Mình cảm ơn mọi người.

    Câu hỏi của vào 28/08/2019   danh mục: Kiến thức chung.
    Thêm bình luận
  • 1 Trả lời

      Thường chúng ta sử dụng các ứng dụng website thì đa số các ứng dụng PHP, MySQL, HTML, XML luôn là những đề xuất được lựa chọn nhưng nếu JSON có thể làm điều gì đó cho cuộc sống của bạn dễ dàng hơn hoặc giao diện người dùng của bạn tốt hơn, thì bạn có muốn thử không. Và để có thể sử dụng JASON, hãy cùng tìm hiểu về ý nghĩa của JASON và so với ứng dụng khác JASON có những gì hơn mà chúng ta nên thay đổi?

       

      JSON là gì?

      JSON viết tắt JavaScript Object Notation – là một cách để lưu trữ thông tin theo cách có tổ chức, dễ truy cập. Nó được sử dụng chủ yếu để truyền dữ liệu giữa máy chủ và ứng dụng web, thay thế cho XML.
      Thời gian trước đây các dịch vụ web đã sử dụng XML làm định dạng dữ liệu chính để truyền dữ liệu nhưng kể từ khi JSON xuất hiện nó đã được ưa thích hơn vì nó nhẹ hơn và tiện dụng hơn rất nhiều

      Tóm lại, nó cung cấp cho chúng ta một bộ sưu tập dữ liệu có thể đọc được mà con người truy cập một cách thực sự dễ dàng ít phức tạp hơn.

      Keys & Value (Chìa khóa và giá trị)

      Hai phần chính tạo nên JSON là các khóa và giá trị. Tạo ra một cặp khóa / giá trị.

      Key: Key là một chuỗi được đặt trong dấu ngoặc kép.
      Value: Giá trị có thể là một chuỗi, số, biểu thức, mảng hoặc đối tượng.
      Cặp key/value: Một cặp khóa/giá trị tuân theo một cú pháp cụ thể, với khóa đứng trước, giá trị đứng sau dấu hai chấm. Các cặp khóa / giá trị được phân tách bằng dấu phẩy.

      Ví dụ:

      name”:“han”

      Các loại giá trị

      • Mảng: Một mảng kết hợp của các giá trị.
      • Boolean (logic): Đúng hay sai.
      • Số: Một số nguyên.
      • Đối tượng: Một mảng kết hợp của các cặp khóa / giá trị.
      • Chuỗi: Một số ký tự văn bản đơn giản thường tạo thành một từ.

      Mảng

      Hầu như mọi website đều có danh mục và thẻ. Vì mỗi bài đăng trong một website có thể có nhiều hơn một danh mục, một mảng, nó gồm nhiều chuỗi được trả về.

      Các đối tượng

      Một đối tượng được chỉ định bởi dấu ngoặc nhọn. Tất cả mọi thứ bên trong dấu ngoặc nhọn là một phần của đối tượng.

      Lưu trữ dữ liệu của JSON

      Một ví dụ đơn giản, thông tin về mình có thể được viết bằng JSON như sau:

      1. var han= {
      2. “age” : “24”,
      3. “hometown” : “vietnam”,
      4. “gender” : “female”

      Điều này tạo ra một đối tượng mà chúng ta truy cập, bằng cách sử dụng biến han. Bằng cách đặt giá trị của biến trong dấu ngoặc nhọn, chỉ ra rằng giá trị là một đối tượng. Bên trong đối tượng, chúng ta có thể khai báo bất kỳ số lượng thuộc tính nào bằng cách ghép nối “name”: “value”, cách nhau bằng dấu phẩy. Để truy cập thông tin được lưu trữ trong han, chúng ta chỉ đơn giản là đề cập đến đặc tính chúng ta cần. Chẳng hạn, để truy cập thông tin về mình, có thể sử dụng các đoạn sau:

      1. document.write(‘Han is ‘ han.age); // Output: Han is 24
      2. document.write(‘Han is a ‘ han.gender); // Output: Han is a female

      Lưu trữ dữ liệu JSON trong bảng

      Một ví dụ phức tạp hơn một chút liên quan đến việc lưu trữ hai người trong một biến. Để làm điều này, mình đặt nhiều đối tượng trong dấu ngoặc vuông, biểu thị một bảng. Chẳng hạn, nếu mình cần đưa thông tin về bản thân và em trai vào một biến, mình có thể làm như sau:

      1. var family = [{
      2. "name” : "han”,
      3. "age” : "24”,
      4. "gender” : "female”
      5. },
      6. {
      7. "name” : "An”,
      8. "age” : "21”,
      9. "gender” : "male”
      10. }];

      Để truy cập thông tin này, ta cần đưa thông tin của người mà chúng ta muốn truy cập. Ví dụ: mình sẽ sử dụng đoạn mã sau để truy cập thông tin được lưu trữ trong family:

      1. document.write(family[1].name); // Output: An[1]i>
      2. document.write(family[0].age); // Output: 21<[0]>

      Lồng dữ liệu JASON

      Một cách khác để lưu trữ nhiều người là lồng các đối tượng. Để làm điều này, chúng ta sẽ tạo ra một cái gì đó tương tự như sau:

      1. var family = {
      2. “han” : {
      3. “name” : “han le”,
      4. “age” : “24”,
      5. “gender” : “female”
      6. },
      7. “an” : {
      8. “name” : “an le”,
      9. “age” : “21”,
      10. “gender” : “male”
      11. }
      12. }

      Để truy cập thông tin của đối tượng, chúng ta sẽ sử dụng đoạn mã sau:

      1. document.write(family.han.name); // Output: han le
      2. document.write(family.an.age); // Output: 21
      3. document.write(family.han.gender); // Output: female

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

      Vì định dạng JSON chỉ là văn bản, nên nó có thể dễ dàng được gửi đến từ một máy chủ và được sử dụng làm định dạng dữ liệu bởi bất kỳ ngôn ngữ lập trình nào.

      JavaScript có một hàm được dựng sẵn để chuyển đổi chuỗi, được viết bằng định dạng JSON, thành các đối tượng JavaScript gốc.

      Vì vậy, nếu bạn nhận được dữ liệu từ máy chủ, ở định dạng JSON, bạn có thể sử dụng nó như bất kỳ đối tượng JavaScript nào khác.

      Cú pháp JSON là một tập hợp con của cú pháp JavaScript.

      JSON vs XML

      Cả JSON và XML đều được sử dụng để nhận dữ liệu từ máy chủ web.

      Ví dụ JASON:

      1. {“employees”:[
      2. { “firstNam[
      3. { "firstName”:”John”, "lastName”:”Doe” },
      4. { "firstName”:”Anna”, "lastName”:”Smith” },
      5. { "firstName”:”Peter”, "lastName”:”Jones” }
      6. ]/tbody>

      Ví dụ XML:

      1. <employees>
      2. <employee>
      3. <firstName>John</firstName> <lastName>Doe</lastName>
      4. </employee>
      5. <employee>
      6. <firstName>Anna</firstName> <lastName>Smith</lastName>
      7. </employee>
      8. <employee>
      9. <firstName>Peter</firstName> <lastName>Jones</lastName>
      10. </employee>
      11. </employees>

      Tại sao JSON tốt hơn XML?

      • XML khó phân tích hơn nhiều so với JSON.
      • JSON được phân tích cú pháp thành một đối tượng JavaScript dễ sử hơn nhiều.
      • JSON nhanh hơn và dễ dàng hơn XML:

       

       

      Trung họcĐã trả lời vào 28/08/2019
      Thêm bình luận

    • Câu trả lời của bạn
      Khi tham gia trả lời bạn phải đồng ý với các điều khoản trên web site của chúng tôi: privacy policy and terms of service.