JSON tut 7: JSON Object Literals
Đây là một chuỗi JSON:'{“name”:”John”, “age”:30, “car”:null}’
Bên trong chuỗi JSON có một đối tượng JSON theo nghĩa đen:{“name”:”John”, “age”:30, “car”:null}
Các ký tự của đối tượng JSON được bao quanh bởi dấu ngoặc nhọn {}.
Các ký tự của đối tượng JSON chứa các cặp khóa / giá trị.
Các khóa và giá trị được phân tách bằng dấu hai chấm.
Khóa phải là chuỗi và giá trị phải là kiểu dữ liệu JSON hợp lệ:
- dây
- con số
- sự vật
- mảng
- boolean
- vô giá trị
Mỗi cặp khóa / giá trị được phân tách bằng dấu phẩy.
Đó là một sai lầm phổ biến khi gọi một đối tượng JSON theo nghĩa đen là “một đối tượng JSON”.
JSON không thể là một đối tượng. JSON là một định dạng chuỗi.
Dữ liệu chỉ là JSON khi nó ở định dạng chuỗi. Khi nó được chuyển đổi thành một biến JavaScript, nó sẽ trở thành một đối tượng JavaScript.
Đối tượng JavaScript
Bạn có thể tạo một đối tượng JavaScript từ một đối tượng JSON theo nghĩa đen:
Thí dụ
myObj = {"name":"John", "age":30, "car":null};
Thông thường, bạn tạo một đối tượng JavaScript bằng cách phân tích cú pháp chuỗi JSON:
Thí dụ
myJSON = '{"name":"John", "age":30, "car":null}';
myObj = JSON.parse(myJSON);Hãy tự mình thử »
Truy cập giá trị đối tượng
Bạn có thể truy cập các giá trị đối tượng bằng cách sử dụng ký hiệu dấu chấm (.):
Thí dụ
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
x = myObj.name;
Bạn cũng có thể truy cập các giá trị đối tượng bằng cách sử dụng ký hiệu ngoặc ([]):
Thí dụ
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
x = myObj["name"];
Vòng lặp một đối tượng
Bạn có thể lặp qua các thuộc tính đối tượng bằng vòng lặp for-in:
Thí dụ
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
let text = "";
for (const x in myObj) {
text += x + ", ";
Trong vòng lặp for-in, hãy sử dụng ký hiệu ngoặc để truy cập các giá trị thuộc tính :
Thí dụ
const myJSON = ‘{“name”:”John”, “age”:30, “car”:null}’;
const myObj = JSON.parse(myJSON);
let text = “”;
for (const x in myObj) {
text += myObj[x] + “, “;
}