Java 应为BEGIN_对象,但在第13行第1列路径处为字符串$
这个问题我看了很多次,但还是不明白。看起来我在网站上发送了请求,但它的正文不正确。但是为什么呢?可能是我不清楚改造是如何工作的,但我不只是收集请求的链接并等待服务器的答复吗? 以下是链接: 与请求的接口Java 应为BEGIN_对象,但在第13行第1列路径处为字符串$,java,android,gson,retrofit2,Java,Android,Gson,Retrofit2,这个问题我看了很多次,但还是不明白。看起来我在网站上发送了请求,但它的正文不正确。但是为什么呢?可能是我不清楚改造是如何工作的,但我不只是收集请求的链接并等待服务器的答复吗? 以下是链接: 与请求的接口 public interface NService { @GET("/computers?p=2") Call<Model> getItems(); } 改装建造类别 public class RetrofitClient { private static
public interface NService {
@GET("/computers?p=2")
Call<Model> getItems();
}
改装建造类别
public class RetrofitClient {
private static Retrofit retrofit = null;
public static Retrofit getClient(String baseURL) {
if (retrofit==null) {
Gson gson = new GsonBuilder()
.setLenient()
.create();
retrofit = new Retrofit.Builder()
.baseUrl(baseURL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
}
return retrofit;
}
}
JSON被解析了
主要活动是:
public class MainActivity extends AppCompatActivity {
private List<Item> responseModel;
private NService mService;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("testcrap", "before loading set");
setContentView(R.layout.activity_main);
mService = APIUtils.getMService(); // Строим retrofit объект, собираем ссылку
Log.d("testcrap", "before loading");
loadSomeCrap();
Log.d("testcrap", "after loading");
}
public void loadSomeCrap() {
Log.d("testcrap", "started parsing");
mService.getItems().enqueue(new Callback<Model>() {
@Override
public void onResponse(Call<Model> call, Response<Model> response) {
Log.d("testcrap", "started onResponse");
if(response.isSuccessful()) {
Log.d("testcrap", "posts loaded from API");
}else {
Log.d("testcrap", "posts not loaded from API");
}
}
@Override
public void onFailure(Call<Model> call, Throwable t) {
//showErrorMes sage();
Log.d("testcrap", t.toString());
}
});
}
}
所以,如果是错误的请求,我应该为正常工作更改什么?您的API或JSON响应返回JSON_对象,但您得到的是字符串,因此显示了这个JsonSyntaxException。尝试在对象中获取响应。您的API或JSON响应正在返回JSON_对象,但您正在以字符串形式获取它,因此显示此JsonSyntaxException。尝试在对象中获取响应。进行这些更改
BASE_URL = "http://testwork.nsd.naumen.ru/"
然后在接口上
@GET("rest/computers?p=2")
.............
做出这些改变
BASE_URL = "http://testwork.nsd.naumen.ru/"
然后在接口上
@GET("rest/computers?p=2")
.............
模型课中的问题请通过模型课,这样我可以帮助解决模型课中的问题请通过模型课,这样我可以帮助解决