03/08/2018, 10:22

Bài 04: JSON và Object trong Javascript

Như ta biết object trong Javascript là một kiểu dữ liệu được lưu trữ dạng key : value, điều này khá giống với cấu trúc của chuỗi JSON. Vậy liệu ...

Như ta biết object trong Javascript là một kiểu dữ liệu được lưu trữ dạng key : value, điều này khá giống với cấu trúc của chuỗi JSON. Vậy liệu chúng có mối liên hệ với nhau nào không? Câu trả lời nằm trong cái tên của JSON đó là JavaScript Object NotationNhư vậy JSON được lấy ý tưởng từ object trong Javascript nên chúng có mối liên hệ  mật thiết với nhau.

Nếu bạn đã xem qua serie học ajax rồi thì bạn không còn xa lạ gì với JSON nữa, còn nếu bạn chưa xem thì hãy xem ngay sau khi đọc xong bài này nhé. JSON được ứng dụng trong Ajax cho trường hợp Ajax gửi request lên server thì server sẽ trả kết quả về là một đối tượng JSON thay vì là dữ liệu bình thường.

Mình nói về Ajax nhưng trong bài này mình không đề cập đến Ajax nhé các bạn, nếu bạn muốn tìm hiểu thì hãy vào link trên để xem. Trong bài mình chỉ đề cập mối liên hệ giữa JSON và OBJECT trong Javascript.

1. Đối tượng trong Javascript

Đối tượng trong Javascript được khai báo với cấu trúc như sau:

var objectName = {
    key1 : "value1",
    key2 : "value2",
    key3 : "value3"
};

Giả sử ta cần lưu trữ thông tin của sinh viên thì ta khai báo như sau:

var sinhvien = {
    name : "Nguyễn Văn Cường",
    age : "1990",
    blog : "code24h.com"
};

Nhưng trường hợp ta cần lưu trữ nhiều sinh viên cùng một lúc thì sao? Lúc này ta cần sử dụng mảng trong javascript để lưu trữ, lúc này cấu trúc khai báo như sau:

var sinhvien = [
    {
        name : "Nguyễn Văn Cường",
        age : "1990",
        blog : "code24h.com"
    },
    {
        name : "Nguyễn Văn Kính",
        age : "1992",
        blog : "code24h.com"
    }
];

Dấu ngoặc vuông [] trong trường hợp này chính là cách khai báo mảng trong Javascript.

2.  Liên tưởng tới JSON

Từ ví dụ trên nếu liên tưởng tới JSON thì bạn sẽ thấy nó rất giống phải không nào, chỉ khác ở chỗ tên key không được bao quanh bởi cặp dấu nháy kép. Tuy nhiên bản chất nó lại giống nhau, nghĩa là JSON lấy ý tưởng kết hợp giữa đối tượng và mảng trong Javascript.

Với ví dụ trên nếu chuyển thành chuỗi JSON thì ta sẽ có như sau:

{
    "name" : "Nguyễn Văn Cường",
    "age" : "1990",
    "blog" : "code24h.com"
}

Và trường hợp lưu trữ nhiều sinh viên sẽ là:

[
    {
        "name" : "Nguyễn Văn Cường",
        "age" : "1990",
        "blog" : "code24h.com"
    },
    {
        "name" : "Nguyễn Văn Kính",
        "age" : "1992",
        "blog" : "code24h.com"
    }
]

Như vậy việc sử dụng JSON để thao tác trong Javascript hoàn toàn có lợi vì nó đơn giản nhưng rất hiệu quả, chính vì vậy đa số các ứng dụng có sử dụng API đều trả kết quả về dạng JSON (xem bài các tình huống JSON). 

3. Lời kết

Bài này cũng không có gì đặc sắc vì mình chỉ muốn nhấn mạnh với các bạn rằng JSON có mỗi liên hệt mật thiết với Javascript, vì thế hãy sử dụng JSON nếu có thể thay vì sử dụng XML hoặc một kiểu dữ liệu nào khác. Sau khi đọc xong bài này bạn có thể tới serie học ajax để xem rồi đấy.

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

Bài liên quan

[BÀI 10] OBJECT TRONG JAVASCRIPT

JavaScript là một ngôn ngữ dựa trên đối tượng, do đó nó có một số câu lệnh làm việc với các đối tượng. Ngoài cung cấp những đối tượng dựng sẵn còn cho phép bạn tạo ra các đối tượng (user-defined object). Các đối tượng dựng sẵn là các đối tượng đã được định nghĩa từ trước, do vậy bạn chỉ cần sử ...

Tạ Quốc Bảo viết 2 tuần trước

Bài 04: JSON và Object trong Javascript

Như ta biết object trong Javascript là một kiểu dữ liệu được lưu trữ dạng key : value, điều này khá giống với cấu trúc của chuỗi JSON. Vậy liệu ...

Trịnh Tiến Mạnh viết 10:22 ngày 03/08/2018

Bài 05: JSON và ứng dụng trong Ajax

Mình đã có một serie học Ajax nói về việc kết hợp với JSON rồi nên bạn có thể tới link đó để xem chi tiết hơn, nên trong bài này mình sẽ nói một ...

Bùi Văn Nam viết 10:18 ngày 03/08/2018

Bài 04: Mối liên hệ giữa Javascript và NodeJS

Để các bạn hiểu rõ hơn về NodeJS thì trong bài này mình sẽ trình bày mối quan ...

Trịnh Tiến Mạnh viết 10:17 ngày 03/08/2018

Đối tượng (object) trong Javascript

Như ta biết Javascript không được xếp vào danh sách những ngôn ngữ lập trình hướng đối tượng, tuy nhiên về khách quan mà nói thì bạn hoàn toàn có ...

Bùi Văn Nam viết 10:04 ngày 03/08/2018
0