0
点赞
收藏
分享

微信扫一扫

fastjson.toJSONString字段排序


由于fastjson.toJSONString默认按字符字母排列顺序输出的,在有些特殊场景下可能不满足我们的要求,需要定制。

官方文档中提到自定义序列化有三中方式,需要1.1.42以上版本才支持:

<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.35</version>
 </dependency>

1、使用@JSONField配置
可以把@JSONField配置在字段或者getter/setter方法上,其中ordinal参数即顺序,值越小越靠前。例如:

public class VO {
       @JSONField(ordinal = 1, name = "ID")
       private int id;
  @JSONField(ordinal = 2)
  private String name;
  }


或者

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;}
  }


 
2、使用@JSONType配置
和JSONField类似,但JSONType配置在类上,而不是field或者getter/setter方法上。
@JSONType(orders:{"id","name"})

public class VO {
 private int id;
 private String name;
 }

举报

相关推荐

0 条评论