我需要在序列化到前端时以指定的顺序设置此DTO对象。我试过@JsonPropertyOrder:
@JsonPropertyOrder({"Body and Frame","Exterior Details","Interior Details",})
public class CertificateTabbings implements Serializable{
@SerializedName("Body and Frame")
private UsedcarInspectionCommonDto usedCarBodyAndFrame;
@SerializedName("Exterior Details")
private UsedcarInspectionCommonDto exteriorDetails;
@SerializedName("Interior Details")
private UsedcarInspectionCommonDto interiorDetails;
//getters //setters}
之后我将这些对象的值设置为:
UsedCarInspectionReport inspectionReport = new UsedCarInspectionReport();
certificateTabbing.setUsedCarBodyAndFrame(certificationDetails.getUsedCarBodyAndFrame());
certificateTabbing.setExteriorDetails(certificationDetails.getExteriorDetails());
certificateTabbing.setInteriorDetails(certificationDetails.getInteriorDetails());
inspectionReport.setCertificateTabbings(certificateTabbing);
使用@JsonPropertyOrder对我不起作用。有什么建议我应该如何得到指定的顺序在输出json.
@JsonPropertyOrder是Jackson库的一部分,而@SerializedName是GSON库的一部分。GSON不支持json顺序,所以为了使它工作,更改
@SerializedName
@JsonProperty
注意:任何合适的前端框架都应该不按顺序处理json,因为http://json.org说
对象是名称/值对的无序集合。
所以排序json对象可能是不必要的。