近日编写接口时发现阿里的fastjson会自动将属性排序,但是我想用我自己的排序方式,查阅相关资料后发现:
在实体类前加注解@JSONType(orders = { "xxx","xxx"})即可解决。
附我使用时的上下文代码
import com.alibaba.fastjson.annotation.JSONType;
/**
* Author: Xiao Bao
* Date: 2020/7/1
* Description: PACKAGE: myapp6_3.entity
* version: 1.0
*/
//设置排序规则
@JSONType(orders = { "resultcode", "reason","result","error_code"})
public class Reg6_3 {
/**
* resultcode : 200
* reason : successed!
* result : [{"code":1,"message":"发送成功"}]
* error_code : 0
*/
private int resultcode;
private String reason;
private int error_code;
private List result;
public int getResultcode() {
return resultcode;
}
public void setResultcode(int resultcode) {
this.resultcode = resultcode;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public int getError_code() {
return error_code;
}
public void setError_code(int error_code) {
this.error_code = error_code;
}
public List getResult() {
return result;
}
public void setResult(List result) {
this.result = result;
}
public static class ResultBean {
/**
* code : 1
* message : 发送成功
*/
private int code;
private String message;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
}
自动排序:{"error_code":0,"reason":"Connect Succeed!","result":[{"code":1,"message":"461714"}],"resultcode":200}
自定义后:{"resultcode":200,"reason":"Connect Succeed!","result":[{"code":1,"message":"174963"}],"error_code":0}
笔记:FastJson直接解析取值
JSONObject.parseObject("json字符串").getJSONObject("data").getString("键名");