Nội dung
JSON là gì?
JSON là chữ viết tắt của Javascript Object Notation, đây là một dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình đều có thể đọc được.
JSON lưu trữ các dữ liệu theo cặp khóa (key) và giá trị (value). So với XML thì JSON có định dạng đơn giản, dễ sử dụng và nhẹ hơn.
Ví dụ đơn giản của JSON:
{ "name" : "GP Coder", "title" : "Lập trình Java", "website" : "gpcoder.com" }
Các cặp key-value có thể lồng nhau:
{ "name" : "GP Coder", "title" : "Lập trình Java", "website" : "gpcoder.com", "subjects" : [ "Java Core", "Design Pattern", "Spring Framework" ], "address" : { "street" : "3/2", "city" : "Can Tho" } }
Một số quy tắc của cấu trúc JSON như sau:
- Chuỗi JSON được bao lại bởi dấu ngoặc nhọn {}.
- Cặp dấu ngoặc nhọn {} cho biết đây là một JsonObject, cặp dấu ngoặc vuông [] cho biết đây là một JsonArray.
- Các key, value của JSON bắt buộc phải đặt trong cặp dấu nháy kép “”, nếu bạn đặt nó trong dấu nháy đơn thì đây không phải là một chuỗi JSON đúng chuẩn.
- Trường hợp trong value của có chứa dấu nháy kép thì hãy dùng dấu \ để escape.
- Nếu có nhiều nhiều cặp key, value thì dùng dấu phẩy , để ngăn cách.
- Các key của JSON bạn nên đặt chữ cái không dấu, không có khoảng trắng, ký tự đầu tiên không nên đặt là số. Tương tự với nguyên tắc đặt tên biến trong Java.
Để kiểm tra chuỗi JSON có đúng cú pháp hay không, bạn vào trang http://jsonlint.com/
Các thư viện hỗ trợ phân tích Json trong Java
Có rất nhiều thư viện Java mã nguồn mở giúp bạn phân tích dữ liệu Json. Dưới đây là 2 thư viện thường được sử dụng trong các ứng dụng Java:
Trong bài viết tiếp theo, tôi sẽ hướng dẫn các bạn sử dụng các thư viện này để phân tích chuỗi json trong Java.
Một số bài viết về sử dụng JSON trong Java
- Giới thiệu Json
- Hướng dẫn sử dụng thư viện Gson
- Hướng dẫn Gson Streaming API để đọc và ghi JSON
- Hướng dẫn sử dụng Gson Annotations
- Hướng dẫn sử dụng Gson ExclusionStrategy
- Gson Custom Serialization và Deserialization
- Hướng dẫn sử dụng Gson TypeAdapter
- Hướng dẫn sử dụng thư viện Jackson
- Hướng dẫn sử dụng Jackson Json Annotations
- Hướng dẫn Jackson Streaming API để đọc và ghi JSON