我正在尝试将lombok与JSON一起使用,但出现了一些问题
当变量名称为时,Json不遵守顺序 与@JsonProperty不同。
(吸气剂可能有问题)
另一点是,我想将Object1的ID隐藏在 生成的json
@Data
@Builder(toBuilder = true)
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@NoArgsConstructor(access = AccessLevel.PACKAGE)
@JsonPropertyOrder({ "id", "objectid", "value" })
public class Object1 {
@JsonIgnore
private Long id;
@JsonProperty("objectid")
private Long subid;
@JsonProperty("value")
private String value;
}
结果:
{
"id" : 123, <--- I want to hide
"value" : "...",
"objectid" : 123
}
“这是一个虚构的小类”
谢谢
答案 0 :(得分:0)
要解决输出顺序,请尝试使用ObjectMapper
,如下所示:
ObjectMapper om = new ObjectMapper();
String jsonString = om.writeValueAsString(myObject1);
System.out.println(jsonString);
要隐藏ID,您可以使用以下杰克逊注释:
@JsonIgnoreProperties(value = {"id"})
如果您仍然希望能够使用setter设置ID,请将此成员添加到注释中:
allowSetters = true
答案 1 :(得分:0)