与jackson忽略序列化的具体领域
我正在使用jackson图书馆。
序列化/反序列化时,我想忽略一个特定的字段,例如:
public static class Foo { public String foo = "a"; public String bar = "b"; @JsonIgnore public String foobar = "c"; }
应该给我:
{ foo: "a", bar: "b", }
但是我得到:
{ foo: "a", bar: "b", foobar: "c" }
我用这个代码序列化对象:
ObjectMapper mapper = new ObjectMapper(); String out = mapper.writeValueAsString(new Foo());
我class上的字段的真实types是Log4J Logger类的一个实例。 我究竟做错了什么?
好吧,出于某种原因,我错过了这个答案 。
以下代码按预期工作:
@JsonIgnoreProperties({"foobar"}) public static class Foo { public String foo = "a"; public String bar = "b"; public String foobar = "c"; } //Test code ObjectMapper mapper = new ObjectMapper(); Foo foo = new Foo(); foo.foobar = "foobar"; foo.foo = "Foo"; String out = mapper.writeValueAsString(foo); Foo f = mapper.readValue(out, Foo.class);
另外值得注意的是这个解决scheme使用DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES: https : //stackoverflow.com/a/18850479/1256179
- jquery可sorting列表不会序列化,为什么?
- 序列化多个表单在一起?
- 在序列化DateTime时强制JSON.NET包含毫秒(即使ms分量为零)
- 如何解决hibernate双向映射引起的JSON串行器中的循环引用?
- DataContractJsonSerializer和JavaScriptSerializer有什么区别?
- $(this).serialize() – 如何添加一个值?
- Java:object to byte 和byte to object converter(for Tokyo Cabinet)
- JSON.NET错误检测到types的自我引用循环
- 如何将.NET对象的大graphics序列化为SQL Server BLOB而不创build大型缓冲区?