Ứng dụng của Json là gì?

Chào mọi người.Em đang tìm hiểu về Json mà không biết là để làm gì ???Mọi người có thể cho em hỏi khi nào thì mình dùng Json không ạ ? Cảm ơn mọi người nhiều.

Json để chứa dữ liệu như xml đó bạn.
Trong môn Lập trình di động kỳ này, bạn mình có làm ứng dụng dành cho quán cafe thì mình thấy nó dùng server trả json về cho máy client là máy điện thoại cài app. Từ đó hiển thị ra thông tin thức uống.
Hồi trước mình cũng có làm một phần mềm hiển thị dữ liệu động đất. Dữ liệu về các vụ động đất mình lấy từ một trang web trên mạng, khi gửi request thì nó trả về một file json. Mình lấy dữ liệu từ file json đó để gán vào bản đồ.

1 Like

Json - Java Script Object Noattion là kiểu dữ liệu dạng text có cấu trúc đơn giản hơn xml, và nó giống Javascript Object. Nó dùng nhiều trong Web API bên backend, AJAX bên frontend
Tại sao phải dùng json?
Vì hiện tại cấu trúc ứng dụng trên internet và cloud đang thay đổi, thay vì viết 1 ứng dụng web qua mô hình mvc, viết tất cả các thao tác với db qua DAO (Data Access Object) hay Controller thì ta tách phần đó ra chạy riêng để ta có thể phát triển các nền tảng khác như mobile app hay bên thứ 3 sử dụng API cho những mục đích khác
Mà khi tách nó ra thì phải có một chuẩn cấu trúc dữ liệu chung để web api và client app có thể hiểu nhau được. Do đó người ta nghĩ ra xml để convert model của backend sang cấu trúc dạng text rồi trả về client. Từ đó client mới dùng data đó render lên view hay xử lý tiếp. Nhưng xml lại là markup language như HTML, nó có quá nhiều cặp mở / đóng thẻ, vừa khó đọc vừa nặng nên người ta dùng json cho nhẹ
Bạn có thể tham khảo bài viết về web service của mình để hiểu rõ json được sử dụng như thế nào


P/S: Chuẩn bị để làm phần 2

6 Likes

bạn có thể làm ví dụ hướng về nhiều bảng được không, ManyToOne, OneToMany, ManyToMany, OneToOne càng phức tạp càng tốt nha cảm ơn bạn nhiều (nếu được thì làm link donate để mình hậu tạ :smiley: )

3 Likes

Thuật toán parse json nặng lắm.
Hệ thống lớn họ thường dùng protobuf, trừ những hệ thống phải public api như github

8 Likes

Lạm dụng annotation khai báo quan hệ không tốt đâu.
Đôi khi duplicate dữ liệu lại thực tế hơn là tuân theo chuẩn CSDL.

Ví dụ khi khao báo hộ khẩu. Nếu làm theo kiểu truyền thống CSDL quan hệ như sau:

  • Viết tên, tuổi, CMND, ngày sinh -> truy xuất user table.
  • Bằng cấp, trình độ học vấn -> gọi cho trường, trường cung cấp lại, join bảng user và bảng student của trường, lấy được thông tin bằng cấp.
  • Nhân khẩu -> gọi tiếp bên UBNN, UBNN đưa lại thông tin hộ khẩu
  • Trình độ tiếng Anh, ngoại ngữ -> liên hệ nơi cấp chứng chỉ, join lại bảng user tiếp.

Cách gọi từng nơi để lấy thông tin cụ thể không thực tế. Bản thân người khai báo sẽ nhớ hết tất cả, hay duplicate thông tin từ các nơi khác và lưu vào bảng user. Lúc khai báo chỉ thao tác bảng User mà không cần thực hiện join với bàng khác.

3 Likes

tại bây giờ nhu cầu đang muốn học nên mới phải như thế, mình nghĩ là mình cần phải biết cách sử dụng mấy cái annotation cho chính xác vì mình mới tiếp xúc với Spring chưa lâu. thanks bạn đã cho lời khuyên :smiley:

1 Like

Mình có từng làm 1 con server bằng spring bạn có thể tham khảo ở linh dưới đây nhé :slight_smile:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?