当前位置: 首页 > 编程笔记 >

何时在Java的Jackson中使用@ConstructorProperties批注?

应和光
2023-03-14
本文向大家介绍何时在Java的Jackson中使用@ConstructorProperties批注?,包括了何时在Java的Jackson中使用@ConstructorProperties批注?的使用技巧和注意事项,需要的朋友参考一下

@ConstructorProperties注释是从java.bean小号包装,用于通过反序列化JSON到Java对象 注释构造。此注释从Jackson 2.7版本开始支持。此批注的工作方式非常简单,而不是对构造函数中的每个参数进行注释,我们可以为数组提供每个构造函数参数的属性名称。

语法

@Documented
@Target(value=CONSTRUCTOR)
@Retention(value=RUNTIME)
public @interface ConstructorProperties

示例

import com.fasterxml.jackson.databind.ObjectMapper;
import java.beans.ConstructorProperties;
public class ConstructorPropertiesAnnotationTest {
   public static void main(String args[]) throws Exception {
      ObjectMapper mapper = new ObjectMapper();
      Employee emp = new Employee(115, "Raja");
      String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp);
      System.out.println(jsonString);
   }
}
//员工阶层
class Employee {
   private final int id;
   private final String name;   @ConstructorProperties({"id", "name"})   public Employee(int id, String name) {
      this.id = id;
      this.name = name;
   }
   public int getEmpId() {
      return id;
   }
   public String getEmpName() {
      return name;
   }
}

输出结果

{
 "empName" : "Raja",
 "empId" : 115
}
 类似资料:
  • 问题内容: 我正在尝试使用Jackson将一些JSON数据转换为Java对象(精确地说是对象列表),但出现此错误: org.codehaus.jackson.map.JsonMappingException:无法反序列化objectlayerlayer的实例。START_ARRAY令牌之外的详细信息 这是代码: ld 是Json格式的列表,这是让我在jackson教程中感到困惑的部分。这是什么 新

  • 问题内容: kotlin 1.2.10杰克逊模块kotlin:2.9.0 我在kotlin中有以下数据类: 当我尝试反序列化此数据类时,我得到以下信息: 如您所见,最后两个选项未正确反序列化。通过将注释直接添加到getter @get:JsonProperty,可以解决此问题。但是,根据杰克逊文档,@ JsonProperty应该分配给getters / setters / fields 因此,我

  • 本文向大家介绍在Java中使用Jackson的@JsonUnwrapped注释的重要性?,包括了在Java中使用Jackson的@JsonUnwrapped注释的重要性?的使用技巧和注意事项,需要的朋友参考一下 @JsonUnwrapped注释可以在序列化和反序列化过程中使用解开值。它有助于呈现组合类的值,就像它属于父类一样。 语法 示例 输出结果

  • 问题内容: StringBuilder在Java中,通常最好使用a 进行字符串连接。总是这样吗? 我的意思是:创建对象,调用方法并最终已经很小,然后将现有字符串与+运算符连接成两个字符串的开销是小的,还是建议仅用于两个以上的字符串? 如果有这样的阈值,它取决于什么(也许是字符串长度,但以哪种方式)? 最后,你是否会以+级联的可读性和简洁性为代价,以较小的情况(例如两个,三个或四个字符串)的性能为代

  • 问题内容: 在上面的示例中,我有几个问题。 何时使用冲洗方法,为什么要使用它? 封闭方法在这里得分如何? …如果我错了,请纠正我,我正在读取文件对象并将其存储到另一个对象中,并对该文件对象进行类型转换。 序列化或将数据持久保存在Java中有哪些选择。我不希望数据以字节流的形式进入文件。 问题答案: 何时使用冲洗方法,为什么要使用它? 它将冲洗仍由缓冲的所有内容。JavaDoc中提供了详细描述。 封

  • 我碰到一堆代码 但是如果我使用普通的ArrayList它会给我输入图像描述时的错误herstrong texte善意的帮助