首页 > 解决方案 > 如何在改造 android 中更改 json 顺序?

问题描述

我正在使用改造库将 json 数据从我的应用程序发布到服务器,但我得到的 json 密钥顺序不是我想要的顺序如何更改它?

这是我使用 gsonconverter 的改造后数据方法



        // on below line we are creating a retrofit
        // builder and passing our base url
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://103.87.174.181/BatteryStation/api/BatteryStationAPI/")
                // as we are sending data in json format so
                // we have to add Gson converter factory
                .addConverterFactory(GsonConverterFactory.create(gson ))
                // at last we are building our retrofit builder.
                .build();
        // below line is to create an instance for our retrofit api class.
        RetrofitAPI retrofitAPI = retrofit.create(RetrofitAPI.class);

        // passing data from our text fields to our modal class.
        DataModel modal = new DataModel(slotno, batteryid, voltage, current, power, parameterid, fault, alarm );

        // calling a method to create a post and passing our modal class.
        Call<DataModel> call = retrofitAPI.createPost(modal);

我通过模态类发送的字符串是


  String slo = String.valueOf(1);
  String bid = "12348149012";
  String vol = "0.15";
  String cur = "0.00";
  String pow = "0.00";
  String parameterid = "0A";
  String fault = "00";
  String alarm = "00";

 postData(slo,bid,vol,cur,pow,parameterid,fault,alarm);

我在服务器端得到的 json 是

{
    "alarm":"00",
    "batteryid":"12348149012",
    "current":"0.00",
    "fault":"00",
    "parameterid":"0A",
    "power":"0.00",
    "slotno":"1",
    "voltage":"0.15"
    
}

这是我的 DataModal 类

public class DataModel {



    private String slotno;
    private String parameterid;
    private String batteryid;
    private String voltage;
    private String current;
    private String power;
    private String alarm;
    private String fault;

    public DataModel(String slotno, String batteryid, String voltage, String current, String power, String parameterid, String fault, String alarm) {
        this.slotno = slotno;
        this.batteryid = batteryid;
        this.voltage = voltage;
        this.current = current;
        this.power = power;
        this.parameterid = parameterid;
        this.fault = fault;
        this.alarm = alarm;
    }

    public String getSlotno() {
        return slotno;
    }

    public void setSlotno(String slotno) {
        this.slotno = slotno;
    }

    public String getBatteryid() {
        return batteryid;
    }

    public void setBatteryid(String batteryid) {
        this.batteryid = batteryid;
    }

    public String getVoltage() {
        return voltage;
    }

    public void setVoltage(String voltage) {
        this.voltage = voltage;
    }

    public String getCurrent() {
        return current;
    }

    public void setCurrent(String current) {
        this.current = current;
    }

    public String getPower() {
        return power;
    }

    public void setPower(String power) {
        this.power = power;
    }

    public String getParameterid() {
        return parameterid;
    }

    public void setParameterid(String parameterid) {
        this.parameterid = parameterid;
    }

    public String getAlarm() {
        return alarm;
    }

    public void setAlarm(String alarm) {
        this.alarm = alarm;
    }

    public String getFault() {
        return fault;
    }

    public void setFault(String fault) {
        this.fault = fault;
    }



}

这个json的顺序是按字母顺序的,我想改变这个顺序。我希望参数 id 在列表中排在第一位。如何做到这一点?请帮助...提前谢谢:)

标签: javaandroidjsongsonretrofit

解决方案


推荐阅读