在这个例子中
class Person {
String name;
int age;
}
如果JSON对象缺少属性“ age”,
{
name : John
}
Person person = objectMapper.readValue(jsonFileReader, Person.class);
有人JsonMappingException
说它不能反序列化。在反序列化期间是否有 注释 可忽略丢失的字段?
谢谢
我想你想要的是
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class Person {
...
}
这就是Jackson 1.x的方式。我认为2.x中有一种新方法。就像是
@JsonInclude(Include.NON_NULL)
public class Person {
...
}
这些将告诉Jackson仅序列化不为null的值,并且在反序列化缺少的值时不会抱怨。我认为它将只是将其设置为Java默认值。
问题内容: 在这个例子中 如果JSON对象缺少属性“ age”, 有人说它不能反序列化。在反序列化期间是否有 注释 可以忽略丢失的字段? 谢谢 问题答案: 我想你想要的是 这就是Jackson 1.x的方式。我认为2.x中有一种新方法。就像是 这些将告诉Jackson仅序列化不为null的值,并且在反序列化缺少的值时不会抱怨。我认为它将只是将其设置为Java默认值。
问题内容: 我有一个简单的接口与属性的getter和setter。 我还有另一个实现此接口的UserAccount类。 我的问题是我想序列化money属性,但在反序列化它时忽略它,即,不接受用户对此属性的任何值。我在setter上尝试过@JsonIgnore,在getter上尝试过@JsonIgnore(false),它确实会忽略它,但是在序列化它时也会这样做。 我在setter上尝试了@Json
我有另一个类UserAccount实现了这个接口。 我的问题是,我想序列化money属性,但在反序列化时忽略它,即不接受用户对该属性的任何值。我在setter上尝试了@jsonIgnore,在getter上尝试了@jsonIgnore(false),它确实忽略了它,但是它在序列化它的同时也忽略了它。 我在setter上尝试了@jsonIgnore,在getter上尝试了@jsonProperty,
我的JSON字符串是: 我想要实现的是,当JSON中没有提供schemaVersion时,能够在默认情况下反序列化到SubClassV1,但即使在Superclass中将schemaVersion初始化为“1.0”时,我仍然会收到以下错误:
我有getter方法 我尝试了几个链接,但这些都没有帮助, http://www.java2novice.com/java-json/jackson/ignore-json-null-elements/ 如何用JsonFormat反序列化Jackson Json空字符串到日期 如何告诉Jackson在序列化期间忽略一个字段,如果它的值为空? 错误:
我尝试将以下json反序列化为java POJO。 我使用jackson 2.8.6 但我不断得到以下例外情况: 如果我为它添加一个字符串设置器 摘要:一些(设计错误的)API发送给我的是空字符串()而不是,我不得不告诉Jackson忽略这个错误的值。我怎么能这么做?