• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

JSON là gì? JSON làm việc như thế nào

Admin

Well-Known Member
Staff member
Administrator
JSON: Tạm dịch là: ký hiệu đối tượng JavaScript (JavaScript Object Notation)
JSON là cú pháp để lưu trữ và trao đổi thông tin văn bản. Cũng giống như XML.

JSON là nhỏ hơn so với XML, và nhanh hơn và dễ dàng hơn để phân tích (parse).
Ví dụ JSON:
Code:
{
	"employees": [
		{ "firstName":"John" , "lastName":"Doe" }, 
		{ "firstName":"Anna" , "lastName":"Smith" }, 
		{ "firstName":"Peter" , "lastName":"Jones" }
	]
}

JSON là gì?

  • JSON là viết tắt của JavaScript Object Notation
  • JSON là định dạng trao đổi dữ liệu văn bản dung lượng nhẹ
  • JSON là ngôn ngữ độc lập *
  • JSON được "tự mô tả" và dễ hiểu
(*) JSON sử dụng cú pháp JavaScript để mô tả đối tượng dữ liệu, nhưng JSON là ngôn ngữ và nền tảng độc lập. Trình phân tích cú pháp(parsers) JSON và các thư viện JSON tồn tại cho nhiều ngôn ngữ lập trình khác nhau.
Đối tượng employees là 1 mảng của 3 đối tượng employee.

JSON - Đánh giá đối tượng JavaScript

Các định dạng văn bản JSON có cú pháp giống hệt cú pháp của JavaScript.

Bởi vì sự tương đồng này, thay vì sử dụng một trình phân tích cú pháp(parser), một chương trình JavaScript có thể sử dụng hàm xây dựng sẵn (built-in) là hàm eval() và thực thi các dữ liệu JSON để sinh ra các đối tượng thuần JavaScript.
JSON - Giới thiệu

Ví dụ JSON:
HTML:
<html>
	<body>
		<h2>JSON Object Creation in JavaScript</h2>
		<p>
			Name: <span id="jname"></span><br /> 
			Age: <span id="jage"></span><br /> 
			Address: <span id="jstreet"></span><br /> 
			Phone: <span id="jphone"></span><br /> 
		</p>
		<script type="text/javascript">
			var JSONObject= {
				"name":"John Johnson",
				"street":"Oslo West 555", 
				"age":33,
				"phone":"555 1234567"
			};
			document.getElementById("jname").innerHTML=JSONObject.name 
			document.getElementById("jage").innerHTML=JSONObject.age 
			document.getElementById("jstreet").innerHTML=JSONObject.street 
			document.getElementById("jphone").innerHTML=JSONObject.phone 
		</script>

	</body>
</html>

________________________________________
Giống như XML
  • JSON là văn bản trơn (không có định dạng(màu sắc, cỡ chữ,…))
  • JSON là "tự mô tả" (người dùng có thể hiểu được)
  • JSON là phân cấp (có cấu trúc cây)
  • JSON có thể được phân tích cú pháp (parse) bởi JavaScript
  • Dữ liệu JSON có thể được truyền đi bằng AJAX
________________________________________
Không giống như XML
  • Không có thẻ kết thúc
  • Ngắn hơn
  • Nhanh hơn để đọc và ghi
  • Có thể được phân tích cú pháp bằng hàm dựng sẵn trong JavaScript là eval ()
  • Sử dụng mảng (Array)
  • Không dùng các từ reserve
________________________________________
Tại sao dùng JSON?
For AJAX applications, JSON is faster and easier than XML:
Sử dụng XML
  • Lấy một tài liệu XML
  • Sử dụng XML DOM để lặp qua tài liệu
  • Trích xuất các giá trị và lưu trữ trong các biến
Sử dụng JSON
  • Lấy một chuỗi JSON
  • Dùng hàm eval () chuyển chuỗi JSON thành đối tượng JavaScript

- - - - - - - - - -

Cú pháp JSON

Cú pháp JSON là một tập hợp con của cú pháp JavaScript

Các quy luật cú pháp JSON

Cú pháp JSON là một tập hợp con của cú pháp đối tượng JavaScript.

  • Dữ liệu là các cặp tên/giá trị (name/values)
  • Dữ liệu được phân cách bằng dấu phẩy
  • Đối tượng nằm trong cặp ngoặc nhọn ‘{}’
  • Dấu ngoặc vuông giữ mảng ‘[]’

Cặp Tên/Giá trị của JSON

Dữ liệu JSON được viết trong cặp Tên/Giá trị.
Một cặp Tên/Giá trị chứa tên 1 trường (trong dấu nháy đôi “”), theo sau là dấu phẩy, cuối cùng là giá trị:
Code:
"firstName" : "John"
Cú pháp này khá dễ hiểu, và tương đương với lệnh JavaScript sau:
Code:
firstName = "John"
________________________________________
Các giá trị của JSON
Giá trị (value) JSON có thể là:
  • 1 số (nguyên (integer) hay số thực (floating point))
  • 1 chuỗi (nằm trong dấu nháy đôi “”)
  • 1 số luận lý (true or false)
  • 1 mảng (nằm trong dấu ngoặc vuông [])
  • 1 đối tượng (nằm trong dấu ngoặc nhọn {})
  • Kiểu null
________________________________________
Các đối tượng JSON

Các đối tượng được đặt trong dấu ngoặc nhọn {}
Đối tượng có thể chứa nhiều cặp Tên/Giá trị (Name/Values):
Code:
{ "firstName":"John" , "lastName":"Doe" }
Và tương đương với lệnh JavaScript sau:
Code:
firstName = "John"
lastName = "Doe"
________________________________________
Mảng của JSON
Mảng JSON nằm trong dấu ngoặc vuông [].
1 mảng có thể chứa nhiều đối tượng:
Code:
{
	"employees": [
		{ "firstName":"John" , "lastName":"Doe" }, 
		{ "firstName":"Anna" , "lastName":"Smith" }, 
		{ "firstName":"Peter" , "lastName":"Jones" }
	]
}
Trong ví dụ trên, đối tượng “employees” là 1 mảng chứa 3 đối tượng. mỗi đối tượng là 1 record của person (với 1 ‘first name và’ 1 ‘last name’).
________________________________________
JSON sử dụng cú pháp JavaScript
Bởi vì JSON sử dụng cú pháp JavaScript, nên không cần 1 chương trình trung gian làm việc giữ JSON và JavaScript.
Với JavaScript bạn có thể tạo 1 mảng các đối tượng và gán dữ liệu như sau:

Ví dụ:
Code:
var employees = [
	{ "firstName":"John" , "lastName":"Doe" }, 
	{ "firstName":"Anna" , "lastName":"Smith" }, 
	{ "firstName":"Peter" , "lastName": "Jones" }
];

Dòng đầu tiên trong mảng đối tượng JavaScript có thể được truy cập như sau:
Code:
employees[0].lastName;
Kết quả:
Code:
Doe
Dữ liệu mới được gán như sau:
Code:
employees[0].lastName = "Jonatan";

Trong phần 4, tui sẽ chỉ cách chuyển chuỗi JSON qua đối tượng JavaScript.
________________________________________
JSON Files
  • Kiểu file của JSON là ".json"
  • Kiểu MIME của JSON là "application/json"
 
JSON hoạt động?
________________________________________
Convert chuỗi JSON thành đối tượng JavaScript

Với JSON, để lấy dữ liệu JSON từ web server (như 1 file hay 1 HttpRequest), convert dữ liệu JSON thành đối tượng JavaScript, và sử dụng dữ liệu này trong trang web
Sau đây là demo:
________________________________________
Ví dụ JSON – Tạo Object từ Chuỗi (String)

Đầu tiên, tạo 1 chuỗi JavaScript chứa cú pháp JSON:
Code:
var txt = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
Kể từ khi cú pháp JSON là tập con của cú pháp JavaScript, hàm JavaScript eval() có thể convert chuỗi JSON thành đối tượng JavaScript.
Hàm eval() sử dụng trình biên dịch(compiler) JavaScript sẽ phân tích cú pháp(parse) chuỗi JSON và sinh ra đối tượng JavaScript. Chuỗi phải được bọc trong dấu ngoặc ‘()’ để tránh lỗi cú pháp:
Code:
var obj = eval ("(" + txt + ")");
Cuối cùng là việc sử dụng đối tượng JavaScript trong trang web như sau:

Code:
<p>
First Name: <span id="fname"></span><br /> 
Last Name: <span id="lname"></span><br /> 
</p> 

<script type="text/javascript">
document.getElementById("fname").innerHTML = obj.employees[1].firstName 
document.getElementById("lname").innerHTML = obj.employees[1].lastName 
</script>
________________________________________
JSON Parser

Sẽ an toàn hơn để sử dụng JSON Parser để convert chuỗi JSON thành đối tượng JavaScript. 1 JSON Parser sẽ nhận dạng chỉ chuỗi JSON và không biên dịch các script khác.

Trong trình duyệt có hỗ trợ mặc định cho JSON, thì JSON sẽ được parse nhanh hơn.
Thông thường thì các trình duyệt mới đều hỗ trợ mặc định cho JSON và trong chuẩn ECMAScript (JavaScript) mới nhất.

Web Browsers Support
  • Firefox (Mozilla) 3.5
  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4
Web Software Support
  • jQuery
  • Yahoo UI
  • Prototype
  • Dojo
  • ECMAScript 1.5

- - - - - - - - - -

Khá giống John,ZenCMS nhỉ
Em có hiểu gì không mà phát biểu lung tung thế, lần sau suy nghĩ kỹ em nhé, john, zen gì ở đây
 
JSON hoạt động?
________________________________________
Convert chuỗi JSON thành đối tượng JavaScript

Với JSON, để lấy dữ liệu JSON từ web server (như 1 file hay 1 HttpRequest), convert dữ liệu JSON thành đối tượng JavaScript, và sử dụng dữ liệu này trong trang web
Sau đây là demo:
________________________________________
Ví dụ JSON – Tạo Object từ Chuỗi (String)

Đầu tiên, tạo 1 chuỗi JavaScript chứa cú pháp JSON:
Code:
var txt = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
Kể từ khi cú pháp JSON là tập con của cú pháp JavaScript, hàm JavaScript eval() có thể convert chuỗi JSON thành đối tượng JavaScript.
Hàm eval() sử dụng trình biên dịch(compiler) JavaScript sẽ phân tích cú pháp(parse) chuỗi JSON và sinh ra đối tượng JavaScript. Chuỗi phải được bọc trong dấu ngoặc ‘()’ để tránh lỗi cú pháp:
Code:
var obj = eval ("(" + txt + ")");
Cuối cùng là việc sử dụng đối tượng JavaScript trong trang web như sau:

Code:
<p>
First Name: <span id="fname"></span><br /> 
Last Name: <span id="lname"></span><br /> 
</p> 

<script type="text/javascript">
document.getElementById("fname").innerHTML = obj.employees[1].firstName 
document.getElementById("lname").innerHTML = obj.employees[1].lastName 
</script>
________________________________________
JSON Parser

Sẽ an toàn hơn để sử dụng JSON Parser để convert chuỗi JSON thành đối tượng JavaScript. 1 JSON Parser sẽ nhận dạng chỉ chuỗi JSON và không biên dịch các script khác.

Trong trình duyệt có hỗ trợ mặc định cho JSON, thì JSON sẽ được parse nhanh hơn.
Thông thường thì các trình duyệt mới đều hỗ trợ mặc định cho JSON và trong chuẩn ECMAScript (JavaScript) mới nhất.

Web Browsers Support
  • Firefox (Mozilla) 3.5
  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4
Web Software Support
  • jQuery
  • Yahoo UI
  • Prototype
  • Dojo
  • ECMAScript 1.5

- - - - - - - - - -


Em có hiểu gì không mà phát biểu lung tung thế, lần sau suy nghĩ kỹ em nhé, john, zen gì ở đây
Nó cũng dùng mấy mã giống JohnCMS và ZenCMS nên em bảo giống đó chứ
 
Nó cũng dùng mấy mã giống JohnCMS và ZenCMS nên em bảo giống đó chứ
đây là ngôn ngữ lập trình chứ không phải mã nguồn bạn nhé
 

Facebook Comments

Similar threads
Thread starter Title Forum Replies Date
chomchom Share FPT Play data: CTKM Data cực chất – Lướt net là nhất Điện thoại di động 15
nsh Share Tôi Là NGUYỄN SINH HÙNG Không Phải Máy Dập , Boy Phố , Idol , ... Mà Tôi Là Tricker Facebook - DVFB Mạng internet 0
vudownload Amazon Business là gì và nó hoạt động như thế nào? Tin tức CNTT 0
D EMS Training là gì? Tập gym ems có hiệu quả như thế nào? Sức khỏe 2
haopro Nonstop Bay Phòng 2022 Lên Thiên Đình Là Nhảy Xập Xình Âm nhạc 0
haopro Nonstop 2022 Tổng Hợp Nhiều Track Vinahouse Thịnh Hành Nhất Tiktok Hiện Nay Nghe Là Bay Âm nhạc 0
haopro Nonstop 2022 Vitamin A Nhạc Lên Là Em Chỉ Việc R.ê.n Và La Âm nhạc 0
V Mọi người cho e hỏi đây là lỗi gì? Xenforo 4
haopro Nonstop 2022 Vinahouse Đám Cưới BASS Cực Mạnh Đập Dồn Dập Nhạc Này Làm Ra Là Để Quẩy Đám Cưới Âm nhạc 0
haopro Nonstop Nhạc Sàn Trung Thu 2022 Trung Thu Là Tết Thiếu Nhi Mà Sao ********* Cứ Đi Chơi Hoài Âm nhạc 0
haopro NONSTOP Nhạc Sàn Trung Thu 2022 BASS Cực Mạnh Cực Căng Max Vol Là Rung Nóc Nhà Âm nhạc 0
haopro NONSTOP 2022 Siêu Phẩm VINAHOUSE Trôi Ke Căng Đét Từ Đầu Đến Cuối - Nghe Là Phê Ngay Âm nhạc 0
haopro NONSTOP Nhạc SẾN Remix 2022 Nhạc Buồn Tâm Trạng Remix 1 Phát Là Lên Luôn Âm nhạc 0
haopro NONSTOP BAY PHÒNG 2022 Full Nhạc Vinahouse hot Tiktok - Nhạc Gì Mà Nghe Là Bê Hà Kỳ Quá Âm nhạc 0
haopro Nonstop Đậu Phộng Trôi 2022 Chỉ Cần Anh Đến Đây Là Anh Sẽ Ngất Ngây - Dành Tặng AE Bay Phòng Nhé Âm nhạc 0
haopro NONSTOP 2022 Nhạc Max Uy Tính Faded Kẹo Ngọt Trôi Ke Chỉ Cần A Đến Đây Là A Sẽ Ngất Ngây Âm nhạc 0
haopro Nonstop Nhạc Sinh Nhật Remix 2021 Bass Đập Liên Tục - Sinh Nhật Là Phải Bét Tè Lè Lè Luôn Âm nhạc 0
haopro Nonstop Huynh Đệ 2021 Một NST Tuyệt Vời Gửi Tặng AE Huynh Đệ, Dù Có Thể Nào AE Ta Vẩn Là Huynh Đệ Âm nhạc 0
haopro Nonstop 2021 Nhạc Hệ Quẩy - Phá Làng Phá Xóm - Máu Lại Lên Là Máu Lại Lên Âm nhạc 0
haopro Nonstop Căng Đét 2021 Gọi Em Là Em Yêu - Phê Không Lối Về Âm nhạc 0
haopro Nonstop Vinahouse 2021 Anh Em Mình Là Một Gia Đình - 1 Gia Đình Là Chơi Hết Mình Âm nhạc 0
haopro Nonstop 2021 Sét Nhạc Hey - Dòng Đời Đưa Đẩy Nhạc Lên Là Em Quẩy Âm nhạc 0
haopro Nonstop Thốc Kẹo 2021 Xung Tươi Trôi Từ Đầu Đến Cuối - Nhạc Lên Là Em Nó Lại Chảnh Âm nhạc 0
haopro Nonstop 2021 Full Set Bibo Cực Xung - Ở Đây Chúng Tôi Úp Nhạc Lọt Nghe Là Xo-ạc Âm nhạc 0
haopro Nonstop 2021 Dòng Đời Đưa Đẩy Nhạc Lên Là Em Quẩy - Bass Căng Trôi Từ Đầu Đến Cuối Âm nhạc 0
haopro Nonstop 2021 Yêu Là Gì - DJ Bass Dồn Dập Thế Này Thì Toi Mẹ Củ Loa Nhà Tôi Rồi Âm nhạc 0
tiendiendev Hỏi Dùng xenforo bản bao nhiều là ổn định? Xenforo 2
Admin Trading Platform là gì? Tin tức CNTT 0
M Share Google Camera là gì? Làm thế nào để tải Google Camera cho điện thoại của bạn? Thủ thuật ĐTDĐ 0
haopro Nonstop Bay Phòng 2020 Đây Là Hà Nội Xịn Của Tao Remix Ver 2 Bay Sấp Mặt Luôn Âm nhạc 0
haopro Nonstop Bay Phòng Xào Ke 2020 Bass Dồn Dập - Một Chấm Là Say Đắm Âm nhạc 0
F “Ngày nay, điểm thưởng dễ dùng, tiện lợi, dễ kiếm hơn ngày xưa”. Điều đó có phải là sự thật? Tin khoa học, sản phẩm mới 0
T Tìm hiểu Docker là gì và liên quan gì tới thực phẩm chế biến Tin tức CNTT 0
T Hiểu một cách Microservices là gì Tin tức CNTT 0
T AirVisual nhận Hà Nội ô nhiễm nhất thế giới là sai lầm Tin tức CNTT 0
haopro NST Nhạc DJ - Vinahouse Nhạc Bay Phòng 2020 Nhà Bao Việc Nhạc Bật Là Bao Bay Âm nhạc 0
haopro NST Nhac DJ - Vinahouse 2020 Liên khúc nhạc trẻ bay phòng cực phiêu - lung linh là lên luôn Âm nhạc 0
T Công nghệ Blockchain: Cây Merkle là gì ? Tin tức CNTT 0
haopro Nonstop Nhạc Sàn Trung Thu 2020 BASS Đập Liên Hồi - Ảo Giác Là Quẩy Nát Trung Thu Âm nhạc 0
H Nghề của bạn là gì Tin tức, sự kiện thường ngày 8
haopro Nonstop nhạc sàn 2019 bass rất rất mạnh Tao Thề Là Tao Lên Tăng Xông Luôn Âm nhạc 0
haopro Nonstop Vinahouse 2020 CẮM TAI NGHE VÀ LÊN XE | Nhạc DJ 2020 Cực Phiêu Nghe Là Nghiền Luôn Âm nhạc 0
haopro Nonstop 2019 nhạc đập cực mạnh Độ Nhạc Mà Không Độ Loa Đang Lên Loa Đứt Là Rơi Xuống Liền Âm nhạc 0
T Trung Quốc ứng dụng Blockchain là vũ khí chiến lược Tin tức CNTT 0
haopro NST Nhạc DJ - Vinahouse 2019 liên khúc nhạc Vinahey tâm trạng nghe là lên luôn Âm nhạc 0
T Đây là cách DeFi đột phá trong tài chính Tin tức CNTT 0
T LinkedIn: Công nghệ Blockchain là 1 trong 10 kỹ năng hàng đầu Tin tức CNTT 0
haopro Nonstop nhạc sàn 2019 Thuốc Lào Đây Kéo 1 Hơi Là Bay Ngất Ngây Âm nhạc 0
haopro Nonstop 2019 Nhạc Sàn Đám Cưới Em Ghệ Miền Tây - Ôi Vui Quá Xá Là Vui ( DJ Thảo Mộc ) Âm nhạc 0
haopro Nonstop Vinahouse 2019 nhạc kéo nhị cực hay Phê Thế Này Là Phê Thế Nào Âm nhạc 0

Similar threads

New posts New threads New resources

Back
Top