如何解决Jackson ObjectMapper 用不同的值写入 Object 两次
我想将简单的对象写入 json 两次。 第一个对象应该具有所有值。第二个对象应该每次在一个字段上设置为 0。 预期结果:
{ [ { "时间":"3",“姓名”:“史蒂夫” },{ "时间":"0",] }
还有我的班级:
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
@JsonSerialize(using = DoubleSerializer.class)
public class MyClass{
@JsonProperty(required = true)
@JsonPropertyDescription("my value")
private long time;
@JsonProperty(required = true)
@JsonPropertyDescription("my name")
private String name;
}
我尝试在 MyClass 上使用 @JsonSerialize(using = DoubleSerializer.class),
public class DoubleSerializer extends JsonSerializer<Vereinigungen> {
@Override
public void serialize(MyClass value,JsonGenerator gen,SerializerProvider serializers) throws IOException {
String origObject = value.toString();
value.setValue(0);
String copyObject = value.toString();
gen.writeString(origObject.concat(copyObject));
}
}
但是,它生成了无效的 json:
MyClass myClass = MyClass.builder().name("Steve").value("20").build();
ObjectMapperFactory.getJacksonMapper().writerWithDefaultPrettyPrinter()
.writeValueAsString(myClass);
我怎样才能做到这一点。也许这是一个错误的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。