gpt4 book ai didi

java - 改造错误 com.google.gson.JsonSyntaxException : java. lang.IllegalStateException:应为 BEGIN_OBJECT 但在第 1 行第 1 列路径 $

转载 作者:行者123 更新时间:2023-11-29 19:53:30 28 4
gpt4 key购买 nike

我想从服务器获取数据...这是我调用的方法

private void getBooks(){
//While the app fetched data we are displaying a progress dialog

//Creating a rest adapter
RestAdapter adapter = new RestAdapter.Builder()
.setEndpoint(ROOT_URL)
.build();

//Creating an object of our api interface
IApiMethods api = adapter.create(IApiMethods.class);

api.getBooks("78", new Callback<JSONObject>() {
@Override
public void success(JSONObject jsonObject, Response response) {
Toast.makeText(getBaseContext(),jsonObject.toString(),Toast.LENGTH_LONG).show();
Log.e("response",jsonObject.toString());
}

@Override
public void failure(RetrofitError error) {

Log.e("error",error.getMessage());

}
});



}

这是我的界面

     public interface IApiMethods {

@FormUrlEncoded
@POST("/product_info.php")
public void getBooks(@Field("cid") String cid, Callback<JSONObject> jsonObjectCallback);

}

我收到错误 com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $.

请帮助我..我第一次使用 retofit 库。

最佳答案

您的服务器正在返回类似“来自服务器的字符串” 而不是返回 JSON 对象:

{prop1: val1, prop2: val2, ...}

要么您需要更改服务器的响应以发回 JSON 对象,要么您需要更改接口(interface)定义以期望为 String:

public interface IApiMethods {

@FormUrlEncoded
@POST("/product_info.php")
public void getBooks(@Field("cid") String cid, Callback<String> jsonObjectCallback);

}

关于java - 改造错误 com.google.gson.JsonSyntaxException : java. lang.IllegalStateException:应为 BEGIN_OBJECT 但在第 1 行第 1 列路径 $,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36887746/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com