Menu

7/25/20

JSON



Json là gi?

Json là 1 kiểu dữ liệu tuân theo quy chuẩn nhất định, các ngôn ngữ lập trình đều có thể đọc được.
Dùng để truyền, nhận dữ liệu giữa server và client.

- cấu trúc của JSON (kiểu dữ liệu json):

+đặt trong dấu ngoặc nhọn
+gồm các cặp key-value, trong đó:
-key: luôn là chuỗi.
-value: chuỗi, số, mảng, một json khác, kiểu boolean (true,false), hoặc null.
+json object được lưu trữ trong file. json

Cùng khảo sát 2 kiểu lưu trữ là JSON và XML, ta thấy kiểu JSON gọn nhẹ hơn.Ngoài ra, trong JSON có kiểu lưu trữ dữ liệu mảng (array) mà XML lại không có

 JSON style:

{"students":[
   {"name":"John", "age":"23", "city":"Agra"},
   {"name":"Steve", "age":"28", "city":"Delhi"},
   {"name":"Peter", "age":"32", "city":"Chennai"},
   {"name":"Chaitanya", "age":"28", "city":"Bangalore"}
]}

XML style:

<students>
  <student>
    <name>John</name> <age>23</age> <city>Agra</city>
  </student>
  <student>
    <name>Steve</name> <age>28</age> <city>Delhi</city>
  </student>
  <student>
    <name>Peter</name> <age>32</age> <city>Chennai</city>
  </student>
  <student>
    <name>Chaitanya</name> <age>28</age> <city>Bangalore</city>
  </student>
</students>

-Các đặc tính của JSON
  • It is light-weight -gọn nhẹ
  • It is language independent-ngôn ngữ độc lập
  • Easy to read and write- dễ đọc và viết
  • Text based, human readable data exchange format - thân thiện
-Dạng JSON phổ biến

var chaitanya = {
  "name" : "Chaitanya Singh",
  "age" : "28",
  "website" : "beginnersbook"
};

-Dạng JSON là 1 phần tử của mảng, mỗi phần tử đặt trong dấu ngoặc nhọn, cách nhau bới dấu phẩy:

var students = [{
   "name" : "Steve",
   "age" :  "29",
   "gender" : "male"

},
{
   "name" : "Peter",
   "age" : "32",
   "gender" : "male"

},
{
   "name" : "Sophie",
   "age" : "27",
   "gender" : "female"
}];

-
-Dạng value của 1 JSON là 1 JSON khác:

var students = {
  "steve" : {
  "name" : "Steve",
  "age" :  "29",
  "gender" : "male"
},

"pete" : {
  "name" : "Peter",
  "age" : "32",
  "gender" : "male"
},

"sop" : {
  "name" : "Sophie",
  "age" : "27",
  "gender" : "female"
}
}

Khi nhận dữ liệu kiểu JSON từ server,

'{ "name":"John", "age":30, "city":"New York"}'

chuyển đổi JSON object thành javascript object:

var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}');

Chuyển đổi từ Javascript object sang json object:

var jsontext=JSON.stringify(myJavaScriptOject);

Sự khác biệt giữa Json object và Javascript object:

+  Javascript object có thể bao gồm 1 function().
+  Json có thể truy xuất bởi bất kỳ ngôn ngữ nào, javascript object chỉ có thể sử dụng trong các chương trình javascript.

Các ví dụ:

VD0: biến a thuộc kiểu json, có 2 pt là x, và y, ptx có giá trị là 1, pty có giá trị là 2.

<script>
  var a ={"x":1, "y":2};
  alert(a.x);
</script>

VD1: truy xuất giá trị name của ptx

var c ={ "x":[
      {"id":1 ,"name":"NAME1"},
      {"id":2 ,"name":"NAME2"},
      {"id":3 ,"name":"NAME3"}
     ],
     "y":2
     };

 alert(c.x[1].name);

==>kết quả: NAME2

VD2: encode mảng thành kiểu dữ liệu json, dùng hàm 
json_encode()
<?php $marks = array("Peter"=>65, "Harry"=>80, "John"=>78, "Clark"=>90); echo json_encode($marks); ?>
==> kết quả: {"Peter":65,"Harry":80,"John":78,"Clark":90}

VD3: decode json thành mảng:
<?php // Store JSON data in a PHP variable $json = '{"Peter":65,"Harry":80,"John":78,"Clark":90}'; var_dump(json_decode($json, true)); ?>
==>kết quả: 

E:\wamp64\www\demo\222\demo.php:5:
array (size=4)
  'Peter' => int 65
  'Harry' => int 80
  'John' => int 78
  'Clark' => int 90




No comments:

Post a Comment