fastjsonデフォルトでは、シリアライズシリアライズJSONので、シーケンス内のフィールドのアルファベット順にクラスで定義されたフィールドの順序でデータ矛盾のフィールドの順序アウトされます。スピードのデフォルトのアルファベット順では速くなりますが、時には我々は、アルファベット順にシリアル化する必要はありません。
今カスタム直列化順序をサポートするために、いくつかの方法を提供しています。
- 自分の照合を設定し、照合は注文のJSONTypeによって指定されます。
// 设置排序规则 @JSONType(orders={"user_name","passwd"}) public class LoginBean { // 设置别名user_name @JSONField(name="user_name") private String userName; // 账户 private String passwd; // 密码 }
- 順序を指定する序のJSONFieldでは、この機能は1.1.42以降が必要です
public static class VO { @JSONField(ordinal = 3) private int f0; @JSONField(ordinal = 2) private int f1; @JSONField(ordinal = 1) private int f2; }
- 特定配列のものに従ってソートフィールドを使用してソートされているFeature.OrderedField
JSON.parseObject("...", Feature.OrderedField)
- 公式の方法はJSONType.alphabeticがfalseで設定することですが、それは使用することは容易ではないようです
@JSONType(alphabetic = false) public static class B { public int f2; public int f1; public int f0; }
世間の注目のコード番号を掃引するためにようこそ、より良いコミュニケーション