Hai cách tạo JSON object
Thư viện json-simple cho phép tạo JSON từ Map hoặc xây dựng trực tiếp qua JSONObject.put().
Ví dụ 1: Từ Map (HashMap - không đảm bảo thứ tự)
import java.util.*;
import org.json.simple.JSONObject;
public class JsonEncodingExample1 {
public static void main(String[] args) {
Map<Object, Object> dataMap = new HashMap<>();
dataMap.put("Name", "Adithya");
dataMap.put("Age", 25);
dataMap.put("Salary", 25000.00);
dataMap.put("Employee Id", 115);
dataMap.put("Company", "TutorialsPoint");
JSONObject jsonObj = new JSONObject(dataMap);
System.out.print("Mã hóa JSON từ Map: ");
System.out.println(jsonObj);
}
}
Kết quả (thứ tự có thể khác do HashMap)
{"Salary":25000.0,"Employee id":115,"Company":"TutorialsPoint","Age":25,"Name":"Adithya"}
Ví dụ 2: Xây dựng thủ công & ghi ra StringWriter (giữ thứ tự với LinkedHashMap)
import java.io.*;
import org.json.simple.*;
public class JsonEncodingExample2 {
public static void main(String[] args) throws IOException {
// JSONObject nội bộ dùng LinkedHashMap -> giữ thứ tự thêm
JSONObject obj = new JSONObject();
obj.put("Name", "Jai");
obj.put("Mobile_Number", 995998480);
obj.put("Bank_Balance", 50000.00);
obj.put("Is_A_SelfEmployee", false);
StringWriter out = new StringWriter();
obj.writeJSONString(out); // Ghi trực tiếp vào Writer
String jsonText = out.toString();
System.out.println(jsonText);
}
}
Kết quả (giữ thứ tự)
{"Name":"Jai","Mobile_Number":995998480,"Bank_Balance":50000.0,"Is_A_SelfEmployee":false}
Mẹo: Muốn kiểm soát thứ tự key, hãy dùng new JSONObject(new LinkedHashMap<>()) hoặc thêm key theo thứ tự mong muốn vào JSONObject mặc định (json-simple dùng LinkedHashMap từ phiên bản mới).