Hướng dẫn javascript json - javascript json

Nội dung chính của chủ đề:

  • Khái niệm về JSON.
  • JSON.parse()
  • JSON.stringify()

1. JSON là gì?

Nhu cầu trao đổi dữ liệu giữa các nền tảng và công nghệ khác nhau ngày càng lớn. Lúc này, XML(eXtensible Markup Language) trở nên cồng kềnh và làm nặng dữ liệu bởi cấu trúc thẻ của nó. Điều đó dẫn tới nhu cầu tạo ra một loại dữ liệu mới có tên gọi là JSON nhằm giải quyết vấn đề trao đổi dữ liệu giữa các nền tảng và làm nhẹ dung lượng lưu trữ của dữ liệu trao đổi.

JSON là viết tắt của Javascript Object Notation, là một bộ quy tắc về cách trình bày và mô tả dữ liệu trong một chuỗi lớn thống nhất được gọi chung là chuỗi JSON.

2. Chuỗi JSON đơn giản

Chuỗi

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
0 được bắt đầu bằng ký tự
{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
1 và kết thúc bởi ký tự
{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
2.

Từng cặp thuộc tính - giá trị

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
3 được xem là 1 dữ liệu và được trình bày theo nguyên tắc:
{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
4 Hoặc
{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
5
{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
4 Hoặc
{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
5

Nhiều dữ liệu có thể có bên trong JSON và cách nhau bởi dấu phẩy

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
6

Các

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
7của JSON bạn nên đặt chữ cái không dấu hoặc số, dấu _ và không có khoảng trắng., ký tự đầu tiên không nên đặt là số. Điều này rất giống với nguyên tắc đặt tên biến.

Ví dụ:

{"Name" : "Code Learn","Age" :2}

Hoặc có thể viết lại như sau :

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}

3. Những giá trị mà JSON có thể có

Tại một dữ liệu, giá trị của thuộc tính có thể nhận vào 1 trong các loại dữ liệu sau đây: một giá trị chuỗi, một giá trị số, một mảng

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
8, hay một JSON khác.

Ví dụ:

{
   "data" : 
   [
    125,
    { "name" : "Code Learn" , "age" : 2 },
    { "name" : "Javascript" , "age" : 25 },
     "string any"
    ] ,// giá trị là một mảng
    "count" : 3000,//giá trị là một số
    "more_info" : { "status" : 200 , "message" : "I'm fine OK" }//giá trị là một json
}

Hoặc có thể viết lại như sau :

3. Những giá trị mà JSON có thể có

Ví dụ:

var str='{
          "company":"facebook",
          "CEO":"Mark Zuckerberg",
          "employees":[{"name": "John","age": 25},{"name": "Anna","age": 29}]
          }';

var obj = JSON.parse(str); // đây là object javascript được tạo từ chuỗi JSON

/* truy cập vào thuộc tính JSON bằng tên thuộc tính */
console.log(obj.company) ;           // facebook
console.log(obj.employees[0].name) ; // John
console.log(obj.employees[1].name) ; // Anna

Hoặc có thể viết lại như sau :

Ví dụ:

var  str = '{ "name" : "Code learn" , "age" : 2 }' ;

var obj = JSON.parse(str) ;
	
obj.name = “Google Chrome” ;	// truy cập vào thuộc tính JSON bằng tên thuộc tính và đổi giá trị
obj.age = 12;

console.log(str);              //{ "name" : "Google Chrome" , "age" : 12 }

Hoặc có thể viết lại như sau :

Ví dụ:

var text = '{ "name":"John", "birth":"1996-05-15", "city":"New York"}';
var obj = JSON.parse(text, function (key, value) {
  if (key == "birth") {
    return new Date(value);
  } else {
    return value;
  }
});
console.log(obj.birth); // Tue May 14 1996 17:00:00 GMT-0700 (Giờ mùa hè Thái Bình Dương)

Hoặc có thể viết lại như sau :

3. Những giá trị mà JSON có thể có

Tại một dữ liệu, giá trị của thuộc tính có thể nhận vào 1 trong các loại dữ liệu sau đây: một giá trị chuỗi, một giá trị số, một mảng

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
8, hay một JSON khác.
{
   "data" : 
   [
    125,
    { "name" : "Code Learn" , "age" : 2 },
    { "name" : "Javascript" , "age" : 25 },
     "string any"
    ] ,// giá trị là một mảng
    "count" : 3000,//giá trị là một số
    "more_info" : { "status" : 200 , "message" : "I'm fine OK" }//giá trị là một json
}
0 giúp bạn chuyển đổi một đối tượng 
{
   "data" : 
   [
    125,
    { "name" : "Code Learn" , "age" : 2 },
    { "name" : "Javascript" , "age" : 25 },
     "string any"
    ] ,// giá trị là một mảng
    "count" : 3000,//giá trị là một số
    "more_info" : { "status" : 200 , "message" : "I'm fine OK" }//giá trị là một json
}
2 thành một văn bản có định dạng 
{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
0

Ví dụ:

var obj = {name : "John", age : 29};
 
var text = JSON.stringify(obj);
 
console.log(text); // {"name":"John","age":29}

Hoặc có thể viết lại như sau :

3. Những giá trị mà JSON có thể có

Ví dụ:

var obj = { name: "John", today: new Date(), city : "New York" };
var myJSON = JSON.stringify(obj);
console.log(myJSON); //{"name":"John","today":"2020-05-15T22:30:59.953Z","city":"New York"}

Hoặc có thể viết lại như sau :

3. Những giá trị mà JSON có thể có

Ví dụ:

var obj = { name: "John", age: function () {return 30;}, city: "New York"};
var myJSON = JSON.stringify(obj); 
console.log(myJSON ); // {"name":"John","city":"New York"}

Hoặc có thể viết lại như sau :

Ví dụ:

var obj = { name: "John", age: function () {return 30;}, city: "New York" };
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
console.log(myJSON) // {"name":"John","age":"function () {return 30;}","city":"New York"}

Hoặc có thể viết lại như sau :

3. Những giá trị mà JSON có thể có

Tại một dữ liệu, giá trị của thuộc tính có thể nhận vào 1 trong các loại dữ liệu sau đây: một giá trị chuỗi, một giá trị số, một mảng

{ 
  "Name" : "Code Learn", 
  "Age" : 2 
}
8, hay một JSON khác.