首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我无法从MySQL得到正确的JSON响应

我无法从MySQL得到正确的JSON响应
EN

Stack Overflow用户
提问于 2018-07-30 06:46:57
回答 1查看 0关注 0票数 0

我无法正确获得json响应。我尝试everyThing但总是告诉我这个错误:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 3 path $[0]

我认为我的模型类与json响应不兼容。但我不知道如何解决它?

这是我的PHP代码:

<?php
require "dbConnect.php";
$query = "select dateDelivered,dateRequest,documentName from transaction";

$result = mysqli_query($con,$query);
$number_of_rows = mysqli_num_rows($result);

$response = array();

if($number_of_rows > 0) {

while($row = mysqli_fetch_assoc($result)){
array_push($response,$row);
}
}

echo json_encode(array($response));
mysqli_close($con);

?>

这是我的模型类:

public class model {


    private String dateDelivered;
    private String dateRequest;
    private String documentName;

    public model(String dtDelivered, String dtRequest,String docName){

        this.dateDelivered = dtDelivered;
        this.dateRequest = dtRequest;
        this.documentName = docName;;
    }

    public String getDateRequest() {
        return dateRequest;
    }

    public String getDateDelivered() {
        return dateDelivered;
    }

    public String getDocName() {
        return documentName;
    }
}

这是我的apiInterface:

public interface ApiInterface {

    @GET("transaction.php")
    Call<List<model>> perTransaction();
}

这个代码适用于apiClient类:

public class ApiClient {

    public static  final String BASE_URL = "http://10.0.2.2/webService/";
    public static Retrofit retrofit = null;

    public static Retrofit getApiClient(){

        if(retrofit==null){
            retrofit = new Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
        }
        return retrofit;
    }

}

在这个我称之为retrofit2响应的类中:

public class Transaction extends AppCompatActivity {

    public static ApiInterface apiInterface;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.transaction);
        Log.e("we are in on create","Transaction");

        apiInterface = ApiClient.getApiClient().create(ApiInterface.class);

        Call<List<model>> call = apiInterface.perTransaction();

        call.enqueue(new Callback<List<model>>() {

            @Override
            public void onResponse(Call<List<model>> call, Response<List<model>> response) {
              List<model> dataFromServer = response.body();

               for(int i = 0;i<dataFromServer.size();i++){
                    String reDate = dataFromServer.get(i).getDateRequest();
                    String deDate = dataFromServer.get(i).getDateDelivered();
                    String docName = dataFromServer.get(i).getDocName();
                    Log.e("date request :",reDate);
                    Log.e("date delivered :",deDate);
                    Log.e("document name:",docName);
                }

            }

            @Override
            public void onFailure(Call<List<forListViewData>> call, Throwable t) {
                Log.e("we are in on Failure",t.toString());
            }
        });

    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-07-30 16:44:49

制造gson使用@SerializedName,试试这个模型类

    public class model {

@SerializedName("dateDelivered")
@Expose
private String dateDelivered;
@SerializedName("dateRequest")
@Expose
private String dateRequest;
@SerializedName("documentName")
@Expose
private String documentName;

public String getDateDelivered() {
return dateDelivered;
}

public void setDateDelivered(String dateDelivered) {
this.dateDelivered = dateDelivered;
}

public String getDateRequest() {
return dateRequest;
}

public void setDateRequest(String dateRequest) {
this.dateRequest = dateRequest;
}

public String getDocumentName() {
return documentName;
}

public void setDocumentName(String documentName) {
this.documentName = documentName;
}

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档