Android 如何在Json格式中获取改装回调get response body
我正在使用改型来集成web服务,当运行我的应用程序控制器时,我将改型成功块,但如何以Json字符串格式打印ResponseBy 有人能帮我吗 主要活动:- 服务器响应:-Android 如何在Json格式中获取改装回调get response body,android,retrofit,retrofit2,Android,Retrofit,Retrofit2,我正在使用改型来集成web服务,当运行我的应用程序控制器时,我将改型成功块,但如何以Json字符串格式打印ResponseBy 有人能帮我吗 主要活动:- 服务器响应:- 尝试启用日志记录模式,以便您能够看到响应, 这就是它是如何做到的 应用程序渐变 compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squar
尝试启用日志记录模式,以便您能够看到响应, 这就是它是如何做到的 应用程序渐变
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.1'
像这样构建改造客户端
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
final OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(30, TimeUnit.SECONDS)
.connectTimeout(30, TimeUnit.SECONDS)
.addInterceptor(logging)
.build();
final Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
您是否使用postman或其他API拦截器测试了您的API,并检查了响应是什么
如果您的api给出了正确的响应,那么
response.body()
将为您提供一个对象,在这种情况下是一个列表
,即您卡片类型列表。您需要将其转换为字符串,以便以正确的格式打印。您可以使用new Gson().toJson(object)
将您的对象转换为String
您是否尝试过response.body()
,或任何类似的方法?获取响应是===>nullGson可能无法将您的JSON转换为该ResponseBody类,那么查看您的ResponseBody
classHi@Krish将非常有用,你能告诉我环境吗?你在本地(我的意思是,你的网络服务和安卓应用在你的电脑上)尝试这个吗?您是否通过web使用web服务?您是否通过url浏览器获得json的结果?这对我很有帮助。对象成功转换为json
public class CardTypes {
private int paymenttypeid;
private String cardType;
public String getCardType() {
return cardType;
}
public void setCardType(String cardType) {
this.cardType = cardType;
}
public int getPaymenttypeid() {
return paymenttypeid;
}
public void setPaymenttypeid(int paymenttypeid) {
this.paymenttypeid = paymenttypeid;
}
}
[
{
"paymenttypeid": 1,
"cardType": "Master Card"
},
{
"paymenttypeid": 2,
"cardType": "VISA"
}
]
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.1'
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
final OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(30, TimeUnit.SECONDS)
.connectTimeout(30, TimeUnit.SECONDS)
.addInterceptor(logging)
.build();
final Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();