Giới thiệu về Gson
Gson là một thư viện Java phổ biến được phát triển bởi Google, cho phép chuyển đổi đối tượng Java sang định dạng JSON và ngược lại. Để sử dụng, bạn cần thêm phụ thuộc com.google.gson vào dự án (Maven/Gradle).
Tạo instance Gson
Có hai cách phổ biến để tạo đối tượng Gson:
- Cách 1:
new Gson()– sử dụng cấu hình mặc định. - Cách 2: Sử dụng
GsonBuilderđể tùy chỉnh (pretty printing, null handling, v.v.) rồi gọicreate().
Ví dụ: Chuyển đổi Map (TreeMap) sang JSON
import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
public class ConvertMapToJsonExample {
public static void main(String[] args) {
// Tạo một SortedMap (TreeMap) để giữ thứ tự key
SortedMap<String, String> data = new TreeMap<>();
data.put("Raja", "Java");
data.put("Ravi", "SAP");
data.put("Surya", "Python");
data.put("Kiran", "Scala");
data.put("Vamsi", "Selenium");
Gson gson = new Gson(); // hoặc new GsonBuilder().create()
// Cần TypeToken để Gson hiểu kiểu generic Map<String, String>
Type mapType = new TypeToken<SortedMap<String, String>>(){}.getType();
String json = gson.toJson(data, mapType);
System.out.println(json);
}
}
Kết quả
{"Kiran":"Scala","Raja":"Java","Ravi":"SAP","Surya":"Python","Vamsi":"Selenium"}
Lưu ý: Vì dùng TreeMap, các key được sắp xếp theo thứ tự tự nhiên (alphabet). Nếu muốn giữ thứ tự thêm, hãy dùng LinkedHashMap kết hợp với GsonBuilder.