在 Java 中使用 Jackson 时 @JsonUnwrapped 注释的重要性?
javajsonobject oriented programmingprogramming更新于 2025/7/26 6:36:17
@JsonUnwrapped 注释可用于在序列化和反序列化过程中解包值。它有助于呈现组合类的值,就好像它属于父类一样。
语法
@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER})
@Retention(value=RUNTIME)
public @interface JsonUnwrapped
示例
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
public class JsonUnwrappedAnnotationTest {
public static void main(String args[]) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(new Employee());
System.out.println(jsonString);
}
}
class Employee {
public int empId = 110;
public String empName = "Raja Ramesh";
@JsonUnwrapped
public Address address = new Address();
// Address class
public static class Address {
public String doorNumber = "1118";
public String street = "madhapur";
public String pinCode = "500081";
public String city = "Hyderabad";
}
}
输出
{
"empId" : 110,
"empName" : "Raja Ramesh",
"doorNumber" : "1118",
"street" : "madhapur",
"pinCode" : "500081",
"city" : "Hyderabad"
}
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/
打印
下一节:在 Java 中,何时使用 Jackson 的 @ConstructorProperties 注释? ❯❮ 上一节:如何在 Java 中使用 @JsonDeserialize 注释实现自定义反序列化器?\

