1. Đối tượng JSON

Đối tượng JSON là một tập hợp các cặp name/value (hay gọi là key/value ) không theo thứ tự. Một đối tượng JSON được đặt trong các dấu ngoặc nhọn. Nó bắt đầu bằng { và kết thúc bằng } . Các đối tượng JSON được viết trong cặp key/value mà trong đó:

  • Key phải là chuỗi khác nhau và value là các giá trị JSON hợp lệ như: string , number , object , array , boolean , null
  • KeyValue được phân tách nhau bằng dấu hai chấm
  • Mỗi cặp Key/Value lại được ngăn cách nhau bằng dấu phẩy

Ví dụ: đây là một chuỗi JSON

'{"name":"Thành", "age":19, "car":null}'

Bên trong chuỗi JSON có một đối tượng JSON

{"name":"Thành", "age":19, "car":null}

2. Tạo một đối tượng JavaScript từ JSON

Ta có thể tạo một đối tượng Js từ một đối tượng JSON như sau

<!DOCTYPE html>
<html>
<body>

<h2>Tạo một đối tượng Js từ JSON</h2>
<p id="demo"></p>

<script>
const myObj = {"name":"Thành", "age":19, "car":null};
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

Thông thường, ta tạo một đối tượng Js bằng cách phân tích cú pháp chuỗi JSON:

<!DOCTYPE html>
<html>
<body>

<h2>Tạo một JSON phân tích cú pháp đối tượng</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"Thành", "age":19, "car":null}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

3. Truy cập giá trị của đối tượng

Ta 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 (.) như sau:

<!DOCTYPE html>
<html>
<body>

<h2>Truy cập một đối tượng JavaScript</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"Thành", "age":19, "car":null}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

Ta 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 vuông [] như sau:

<!DOCTYPE html>
<html>
<body>

<h2>Truy cập một đối tượng JavaScript</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"Thành", "age":19, "car":null}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj["name"];
</script>

</body>
</html>

4. Vòng lặp một đối tượng

Ta có thể lặp qua các thuộc tính đối tượng bằng vòng lặp for-in

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
const myJSON = '{"name":"Thành", "age":19, "car":null}';
const myObj = JSON.parse(myJSON);

let text = "";
for (const x in myObj) {
  text += x + ", ";
}
document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

Trong vòng lặp for-in, ta hãy sử dụng ký hiệu ngoặc vuông để truy cập các giá trị thuộc tính

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
const myJSON = '{"name":"Thành", "age":19, "car":null}';
const myObj = JSON.parse(myJSON);

let text = "";
for (const x in myObj) {
  text += myObj[x] + ", ";
}
document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

Ngoài ra ta cũng có đối tượng JSON lồng nhau. Ví dụ

{  
     "firstName": "Thành",
     "lastName": "Nguyễn",
     "age": 19,
     "address" : {
         "streetAddress": "Ba Vì",
         "city": "Hà Nội",
         "state": null,
         "postalCode": "100000"
     }
 }