Nếu bạn đã từng bị tạch tại cuộc phỏng vấn vào 1 công ty nào đó chỉ
vì không biết JSON là gì thì ngay sau khi đọc bài này, bạn sẽ thấy thiếu
sót của mình thực sự đáng tiếc thế nào !!!
Bởi cái tên JSON trông thì có vẻ nguy hiểm, nghe có vẻ lạ kỳ nhưng thực ra nó cực cực cực đơn giản.
Vâng, nếu bạn thấy tớ đã nhấn mạnh như thế nào thì hãy đọc hết bài này và thấy những điều tớ nói:
(Trông có vẻ dài - chủ yếu bởi các đoạn tiếng Anh tớ paste vào để mọi
người tham khảo, còn với 1 kiến thức trọn gói mà thế này thì vẫn ngắn
:D )
Cách đọc: (Việt sub: jây-sờn)
JSON (/ˈdʒeɪsən/)
What is JSON?
JSON stands for JavaScript Object Notation
JSON is lightweight text-data interchange format
JSON is language independent *
JSON is "self-describing" and easy to understand
JSON is syntax for storing and exchanging text information. Much like XML.
JSON is smaller than XML, and faster and easier to parse.
Túm lại JSON là 1 cú pháp (syntax), định dạng(format) chứ không phải 1 ngôn ngữ, dùng để chứa và trao đổi thông tin dạng text.
Cú pháp của JSON:
Cấu tạo của 1 JSON object thì rất đơn giản: hãy xem ví dụ dưới
employees object is an array of 3 employee records (objects).
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
nó chỉ có {} đánh dấu object, [] đánh dấu mảng, "fieldName": "value",
các trường phân cách bởi dấu "," Đó là tất cả về cú pháp của nó! có đúng
như tớ nói lúc đầu không???
JSON Syntax Rules
JSON syntax is a subset of the JavaScript object notation syntax.
Data is in name/value pairs
Data is separated by comma
Curly brackets holds objects
Square brackets holds arrays
Một chút cụ thể hơn về cái tên: JSON - nó sử dụng cú pháp giống hệt cú
pháp tạo object của JavaScript, thế nên bạn có thể dễ dàng tạo các
object thực từ dữ liệu JSON bằng hàm eval(...) của JavaScript.
JSON uses JavaScript syntax for describing data objects, but JSON is
still language and platform independent. JSON parsers and JSON
libraries exists for many different programming languages.
The JSON text format is syntactically identical to the code for creating JavaScript objects.
a JavaScript program can use the built-in eval() function and execute JSON data to produce native JavaScript objects.
Trước khi có JSON, người ta vẫn dùng XML để chứa và trao đổi thông tin giữ các ứng dụng khác nhau.
Giờ đây có JSON rồi, XML được lựa chọn khi phải chuyển đi một lượng text
lớn, còn với lượng data nhỏ, chỉ gồm các string như id, dates, name...
thì dùng JSON sẽ nhỏ , dễ dùng và dễ đọc hơn.
JSON has several advantages over XML. Its a lot smaller and less
bloated, so you will be passing much less data over the network - which
in the case of a mobile device will make a considerable difference.
Its also easier to use in javascript code as you can simply pass the
data packet directly into a javascript array without any parsing,
extracting and converting, so it is much less CPU intensive too.
In general, I would prefer XML only when I need to pass around a lot of text, since XML excels at wrapping and marking up text.
When passing around small data objects, where the only strings are small
(ids, dates, etc.), I would tend to use JSON, as it is smaller, easier
to parse, and more readable.
Much Like XML
JSON is plain text
JSON is "self-describing" (human readable)
JSON is hierarchical (values within values)
JSON can be parsed by JavaScript
JSON data can be transported using AJAX
Much Unlike XML
No end tag
Shorter
Quicker to read and write
Can be parsed using built-in JavaScript eval()
Uses arrays
No reserved words
Why JSON?
For AJAX applications, JSON is faster and easier than XML:
Using XML
Fetch an XML document
Use the XML DOM to loop through the document
Extract values and store in variables
Using JSON
Fetch a JSON string
eval() the JSON string
Viết dử liệu ở định dạng JSON:
bạn không phải làm việc này, cứ nhét dữ liệu bình thường của bạn vào các hàm hỗ trợ sẵn của các ngôn ngữ bạn dùng.
Với PHP: dùng hàm json_encode()
và để parse : json_decode? ?? chắc thế, chưa dùng
Parse trong trường hợp này là việc bạn chuyển dữ liệu từ dạng text json thành dữ liệu chương trình của bạn.
Tham khảo:
http://www.w3schools.com/json/default.asp
http://stackoverflow.com/questions/1237649/json-or-soap-xml
Các thư viện JSON trong các ngôn ngữ:
Java:
Jackson - nghe đồn là nhanh nhất.
Gson - của Google
org.json - của org.json, built-in trong Android.
Các ngôn ngữ khác:
http://json.org/
SEO:
JSON là gì, tìm hiểu json, javascript object
Giờ mới đọc : ))
ReplyDeletehihi (y)
Delete