{
"field1": "res1",
"field2": "res2",
"field3": null
}
若要排除空值,可以使用
@JsonInclude(value = Include.NON_NULL)
public class YourClass {
}
并包含您可以使用的自定义值
public class Employee {
private String name;
@JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = DateOfBirthFilter.class)
private Date dateOfBirth;
@JsonInclude(content = JsonInclude.Include.CUSTOM, contentFilter = PhoneFilter.class)
private Map<String, String> phones;
}
public class DateOfBirthFilter {
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof Date)) {
return false;
}
//date should be in the past
Date date = (Date) obj;
return !date.before(new Date());
}
}
public class PhoneFilter {
private static Pattern phonePattern = Pattern.compile("\\d{3}-\\d{3}-\\d{4}");
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof String)) {
return false;
}
//phone must match the regex pattern
return !phonePattern.matcher(obj.toString()).matches();
}
}
参考了https://www.logicbig.com/tutorials/misc/jackson/json-include-customized.html
我现在的问题是,我到底能实现什么/如何实现这些,或者是否有一种方法来扩展ErrorDecoder,使我能够处理这些错误消息。我想我应该能够将它们放入解码器,甚至实现/覆盖HttpClient,但我不确定正确/最好的方法是什么。
问题内容: 我继承了一些代码,这些代码最终将成为API调用的一部分。基于现有代码,该调用是使用access_token检索JSON代码的帖子。尽管这通常很简单,并且像其他所有API一样,但是此代码要求为客户机密提供一个自定义的httpheader字段。 我能够使用URLRequest等在Objective C中完成此工作,但是由于我正在创建对Web组件的调用,因此遇到了很多困难。 我正在使用一个非
有没有一种方法可以使用Jackson JSON处理器来执行自定义字段级别的序列化?例如,我想让 注意,age=25被编码为数字,而favoritenumber=123被编码为字符串。Jackson将编组为一个数字。在这种情况下,我希望将favoriteNumber编码为字符串。
问题内容: 有没有一种使用Jackson JSON Processor进行自定义字段级序列化的方法?例如,我想上课 序列化为以下JSON: 请注意,age = 25被编码为 数字, 而favoriteNumber = 123被编码为 string 。开箱即用的杰克逊将集结到一个号码。在这种情况下,我希望将favoriteNumber编码为字符串。 问题答案: 您可以实现自定义序列化器,如下所示:
我对Spring很陌生。我有一个在Spring中编写的REST api,但我不知道如何使用自定义http响应代码返回JSON响应。 我返回一个JSON响应,如下所示: 但它总是显示200个http ok状态代码。 如何可能在void函数中返回JSON响应和自定义HTTP代码?