找到 2637 篇文章 关于 Java
3K+ 次浏览
@JsonDeserialize 注解用于在将 JSON 反序列化为 Java 对象时声明自定义反序列化器。我们可以通过扩展具有泛型类型 Employee 的 StdDeserializer 类来实现自定义反序列化器,并且需要覆盖 StdDeserializer 类的 deserialize() 方法。语法@Target(value={ANNOTATION_TYPE, METHOD, FIELD, TYPE, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonDeserialize… 阅读更多
1K+ 次浏览
当对象在 Jackson 库中具有父子关系时,使用 @JsonIdentityInfo 注解。@JsonIdentityInfo 注解用于指示序列化和反序列化过程中的对象标识。ObjectIdGenerators.PropertyGenerator 是一个抽象占位符类,用于表示使用对象标识符来自 POJO 属性的情况。语法@Target(value={ANNOTATION_TYPE, TYPE, FIELD, METHOD, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonIdentityInfo… 阅读更多
323 次浏览
GsonBuilder类的setVersion()方法可以使用@Since注解。此注解可以应用于Java类中的字段,并接受浮点数作为参数。此参数表示字段序列化所在的版本号。反序列化过程也可以应用相同的规则。语法@Documented @Retention(value=RUNTIME) @Target(value={FIELD, TYPE}) public @interface Since示例import com.google.gson.annotations.Since; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class GsonSinceAnnotationTest { public static void main(String[] args) { Employee emp = new Employee(); emp.setEmployeeName("Raja Ramesh"); emp.setEmployeeId(125); emp.setEmployeeTechnology("Java"); emp.setEmploeeAddress("Hyderabad"); System.out.println("自版本…阅读更多
256 次浏览
@Until 注解可以与 GsonBuilder 类的 setVersion() 方法一起使用。此注解可以应用于 Java 类中的字段,并接受浮点数作为参数。此参数表示字段序列化所在的版本号。@Until 注解可以管理 Web 服务中 JSON 类的版本控制。语法@Documented @Retention(value=RUNTIME) @Target(value={FIELD, TYPE}) public @interface Until示例import com.google.gson.annotations.Until; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class GsonUntilAnnotationTest { public static void main(String[] args) { Employee emp = new Employee(); emp.setEmployeeName("Adithya"); emp.setEmployeeId(115); emp.setEmployeeTechnology("Python"); emp.setEmploeeAddress("Pune"); ... 阅读更多
1K+ 次浏览
@JsonRootName 注解可用于包装对象以使用顶级元素进行序列化。我们可以将名称作为参数传递给 @JsonRootName 注解。我们可以使用 SerializationFeature 枚举的 "WRAP_ROOT_VALUE" 功能,该功能可以启用以使根值包装在一个单属性 JSON 对象中,其中键是根名称。示例import com.fasterxml.jackson.annotation.JsonRootName; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.SerializationFeature; public class JsonRootNameAnnotationTest { public static void main(String args[]) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.enable(SerializationFeature.WRAP_ROOT_VALUE).writeValueAsString(new Employee()); System.out.println(jsonString); } } @JsonRootName(value ... 阅读更多