Jackson Tree Model cho phép biểu diễn cấu trúc JSON dưới dạng cây JsonNode, phù hợp khi cấu trúc JSON không ánh xạ trực tiếp tới class Java. Ta dùng JsonNodeFactory để tạo các node, và ObjectNode, ArrayNode để xây dựng cấu trúc.
Các phương thức quan trọng
factory.objectNode()– Tạo object nodefactory.arrayNode()– Tạo array nodeobjectNode.put(field, value)– Thêm field đơn giảnobjectNode.set(field, childNode)– Thêm child node phức tạparrayNode.add(value)– Thêm phần tử vào mảng
Ví dụ xây dựng JSON nhân viên
import java.io.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.node.*;
public class JacksonTreeModelDemo {
public static void main(String[] args) throws IOException {
JsonNodeFactory factory = JsonNodeFactory.instance;
ObjectMapper mapper = new ObjectMapper();
ObjectNode employee = factory.objectNode();
employee.put("empId", 125);
employee.put("firstName", "Hùng");
employee.put("lastName", "Phạm");
ArrayNode technologies = factory.arrayNode();
technologies.add("Python").add("Java").add("Kubernetes");
employee.set("technologies", technologies);
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(employee);
System.out.println(json);
}
}
Kết quả
{
"empId" : 125,
"firstName" : "Hùng",
"lastName" : "Phạm",
"technologies" : [ "Python", "Java", "Kubernetes" ]
}
Ưu điểm: Linh hoạt, không cần POJO, dễ dàng thao tác CRUD trên cấu trúc JSON động.