-
Notifications
You must be signed in to change notification settings - Fork 6.5k
guid_to_migrating_from_jackson_to_fastjson_cn
jackson也是一个很优秀的jackson库,但是如果你因为某些理由想迁移到fastjson,这个指南将会为你介绍如何从jackson迁移到fastjson。
在fastjson中,有四个Annotation,JSONType、JSONField、JSONCreator、JSONPOJOBuilder,能够完成jackson大多数Annotation对应的功能。
在fastjson中,提供有一个LabelFilter,能够实现Jackson JsonView的功能,用于定制序列化。详细文档 https://github.com/alibaba/fastjson/wiki/LabelFilter
在Jackson中提供了对Builder模式支持的JsonPOJOBuilder,在fastjson中对应的是JSONPOJOBuilder。详细文档 https://github.com/alibaba/fastjson/wiki/BuilderSupport
在fastjson 1.2.32版本中引入JSONField.unwrapped配置,支持类似JsonAnyGetter/JsonAnySetter的功能,详细文档 https://github.com/alibaba/fastjson/wiki/JSONField_unwrapped_cn
在fastjson的JSONType.orders提供了同样的功能。例如:
@JSONType(orders={"name", "id"})
public static class VO {
public int id;
public String name;
}
在fastjson中,通过JSONField.jsonDirect配置能实现同样的功能。
public static class Model {
public int id;
@JSONField(jsonDirect=true)
public String value;
}
在fastjson中,可以通过使用JSONField.serializeUsing和JSONType.serializer实现同样的功能。
在fastjson中有对应的JSONCreator
在fastjson中,可以用JSONField实现同样的功能。
在fastjson中,可以通过使用JSONField.deserializeUsing和JSONType.deserializer实现同样的功能。
在fastjson中,可以通过使用JSONType.ignores实现同样的功能
在fastjson中,可以通过使用JSONField.serilaize=false和JSONField.deserilaize=false和实现同样的功能
在fastjson中,可以通过使用JSONField.format实现同样的功能
在fastjson中,可以通过JSONType.seeAlso实现类似的功能。详细文档 https://github.com/alibaba/fastjson/wiki/JSONType_seeAlso_cn
如有需要修改本注脚,请联系阿里巴巴,
© Alibaba Fastjson Develop Team
注明: 版权所有阿里巴巴,请注明版权所有者
If you need to amend this footnote, please contact Alibaba.
© Alibaba Fastjson Develop Team
Note: Copyright Alibaba, please indicate the copyright owner