如何从服务器获取对象数组并通过System.out.print打印输出
获取并打印服务器返回的对象列表解决方案
嘿,我来帮你搞定从服务器获取列表并打印的问题!结合你提供的API定义和相关代码,咱们一步步来实现:
1. 发起Retrofit API请求
你已经定义了正确的Retrofit接口方法,接下来需要通过Retrofit实例调用这个接口,并处理异步响应:
// 先确保你已经正确初始化了Retrofit实例(记得替换成你的服务器基础URL) Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://你的服务器地址/") // 比如http://example.com/api/ .addConverterFactory(GsonConverterFactory.create()) .build(); // 创建API接口实例 YourApiInterface apiService = retrofit.create(YourApiInterface.class); // 发起请求 Call<List<reviewResult>> call = apiService.getReview(); call.enqueue(new Callback<List<reviewResult>>() { @Override public void onResponse(Call<List<reviewResult>> call, Response<List<reviewResult>> response) { if (response.isSuccessful() && response.body() != null) { // 成功获取到评论列表,调用打印方法 printReviewList(response.body()); } else { System.out.println("请求失败,响应码:" + response.code()); } } @Override public void onFailure(Call<List<reviewResult>> call, Throwable t) { System.out.println("请求出错啦:" + t.getMessage()); } });
2. 实现列表打印方法
遍历获取到的List<reviewResult>,逐个打印每个对象的属性:
private void printReviewList(List<reviewResult> reviewList) { System.out.println("=== 获取到的评论列表 ==="); for (int i = 0; i < reviewList.size(); i++) { reviewResult review = reviewList.get(i); System.out.println("第" + (i+1) + "条评论:"); System.out.println("用户ID:" + review.getUserId()); System.out.println("路线ID:" + review.getRouteId()); System.out.println("司机ID:" + review.getDriverId()); System.out.println("评论内容:" + review.getText()); System.out.println("发布时间:" + review.getTimestamp()); System.out.println("------------------------"); } }
关键检查点
- Model字段匹配:确保你的
reviewResult类和服务器返回的JSON字段完全对应。如果Model的变量名和JSON字段名不同,一定要用@SerializedName注解映射,比如:@SerializedName("userId") private String userId; - Retrofit依赖:确认你的项目里已经添加了Retrofit和Gson转换器的依赖,不然解析JSON会失败。
内容的提问来源于stack exchange,提问作者Alexander
相关产品推荐
相关产品推荐

