Expected BEGIN_ARRAY but was BEGIN_OBJECT если убрать List тогда выводит это Expected BEGIN_OBJECT but was BEGIN_ARRAY

Я не знаю как исправить программу помогите плиз

 public void onResponse(Call<Payment> call, Response<Payment> response) {
            load.setVisibility(View.GONE);
            if(response.code()==200 && response.body().getParams().getReturn().getStatus().getCode()==1){
         List<Parameter> parameterList=new ArrayList<>();
                boolean isAr=false;
                if(response.body().getParams().getReturn().getParameters().getParameter() instanceof Collection<?>){
                    isAr=true;
                    Gson gson=new GsonBuilder().create();
                    TypeToken<List<Parameter>> responseTypeToken = new TypeToken<List<Parameter>>() {};
                    parameterList = gson.fromJson(gson.toJson(response.body().getParams().getReturn().getParameters().getParameter()), responseTypeToken.getType()); //ошибкой показывает эту строку 
                    Log.i(TAG, "СТРОКА 501 ПРОШЛО!");

                    }else{
                    isAr=false;
                    Gson gson=new GsonBuilder().create();
                    nextUrl=response.body().getUrl();
                    oneParameter = gson.fromJson(gson.toJson(response.body().getParams().getReturn().getParameters().getParameter()), Parameter.class);

                }

А вот класс Parameter

  public class Parameter {

@SerializedName("name")
@Expose
private String name;
@SerializedName("type")
@Expose
private String type;
@SerializedName("title")
@Expose
private String title;
@SerializedName("regexp")
@Expose
private String regexp;
@SerializedName("description")
@Expose
private String description;
@SerializedName("options")
@Expose
private Options options;
@SerializedName("parameterCondition")
@Expose
private ParameterCondition parameterCondition;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getType() {
    return type;
}

public void setType(String type) {
    this.type = type;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getRegexp() {
    return regexp;
}

public void setRegexp(String regexp) {
    this.regexp = regexp;
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public Options getOptions() {
    return options;
}

public void setOptions(Options options) {
    this.options = options;
}

public ParameterCondition getParameterCondition() {
    return parameterCondition;
}

public void setParameterCondition(ParameterCondition parameterCondition) {
    this.parameterCondition = parameterCondition;
}

@Override
public String toString() {
    return "Parameter{" +
            "name='" + name + '\'' +
            ", type='" + type + '\'' +
            ", title='" + title + '\'' +
            ", regexp='" + regexp + '\'' +
            ", description='" + description + '\'' +
            ", options=" + options +
            ", parameterCondition=" + parameterCondition +
            '}';
}

}

Вот файл:

{"params":{"return":{"status":{"code":1,"message":"success"}, "parameters":{"parameter":[{ "name":"prefix","type":"select","title":"Prefiks","regexp":"^(60)$","description":"can be 2 digit (60,44,31,80, etc)","options":{"option":{"title":"060","value":"60"}}},{"name":"number","type":"number","title":"Nomer","regexp":"^\d{7}$","description":"last 7 digits of Rusim number"}]}}},"url":"https://test.ru/api/ru/gateway/billing/rusim"}

Класс Payment:

public class Payment {

@SerializedName("params")
@Expose
private Params params;
@SerializedName("url")
@Expose
private String url;

public Params getParams() { return params; }

public void setParams(Params params) {
    this.params = params;
}

public String getUrl() {
    return url;
}

public void setUrl(String url) {
    this.url = url;
}

@Override
public String toString() {
    return "Payment{" +
            "params=" + params +
            ", url='" + url + '\'' +
            '}';
}

Класс Return:

public class Return {

@SerializedName("status")
@Expose
private Status status;
@SerializedName("parameters")
@Expose
private Parameters parameters;

public Status getStatus() {
    return status;
}

public void setStatus(Status status) {
    this.status = status;
}

public Parameters getParameters() {
    return parameters;
}

public void setParameters(Parameters parameters) {
    this.parameters = parameters;
}

@Override
public String toString() {
    return "Return{" +
            "status=" + status +
            ", parameters=" + parameters +
            '}';
}

}


Ответы (0 шт):