Fastjsonカスタムシリアル化
Fastjson カスタム シリアル化
1. はじめに
Fastjson は、シリアル化をカスタマイズする複数の方法をサポートしています。
- #@JSONField によるカスタマイズされたシリアル化@JSONType によるカスタマイズされたシリアル化SerializeFilter によるカスタマイズされたシリアル化ParseProcess によるカスタマイズされた逆シリアル化
public class VO { @JSONField(name="ID") private int id; }または
public class VO { private int id; @JSONField(name="ID") public int getId() { return id;} @JSONField(name="ID") public void setId(int value) {this.id = id;} }詳細については、ここを参照してください: JSONField と同様の設定を行いますJSONField に設定されますが、JSONType はフィールドまたはゲッター/セッター メソッドではなくクラスで構成されます。 SerializeFilter による拡張プログラミングを使用して、カスタマイズされたシリアル化を実装できます。 fastjson はさまざまな SerializeFilter を提供します。
- PropertyPreFilter は、PropertyName に基づいてシリアル化するかどうかを決定します。PropertyFilter は、PropertyName と PropertyValue に基づいてシリアル化するかどうかを決定します。NameFilter キーを変更します。 if キーを変更して戻り値を処理する必要がある場合は、ValueFilter 値の変更BeforeFilter シリアル化中に先頭にコンテンツを追加しますAfterFilter 末尾にコンテンツを追加しますシリアル化中
SerializeFilter filter = ...; // 可以是上面5个SerializeFilter的任意一种。 JSON.toJSONString(obj, filter);詳細はこちら: SerializeFilter
#カスタマイズされた逆シリアル化 API ParseProcess