Android 在改型中解析Json响应

Android 在改型中解析Json响应,android,retrofit,Android,Retrofit,来自WebService的调用响应如下: { "mobilenumber": "09999999999", "service": "1" , "id": "1" } 如何将接收到的Json解析为对象 @Override public void onResponse(Call<Login> call, Response<Login> response) { if (response.isSuccessful()) { }

来自WebService的调用响应如下:

{
    "mobilenumber": "09999999999", 
    "service": "1" , 
    "id": "1"
}
如何将接收到的Json解析为对象

@Override
public void onResponse(Call<Login> call, Response<Login> response) {

    if (response.isSuccessful()) {

    } 
}
@覆盖
公共void onResponse(调用、响应){
if(response.issusccessful()){
} 
}

此代码提供如何解析json

    @Override
    public void onResponse(Call<Login> call, Response<Login> response) {
     if (response.isSuccessful()) {
       JSONObject jsonobject = new JSONObject(yourresponse);
       String mobilenumber = jsonobject.getString("mobilenumber");
       String service = jsonobject.getString("service");
       String id = jsonobject.getString("id");
            } 
@覆盖
公共void onResponse(调用、响应){
if(response.issusccessful()){

JSONObject JSONObject=新的JSONObject(您的响应); 字符串mobilenumber=jsonobject.getString(“mobilenumber”); stringservice=jsonobject.getString(“服务”); stringid=jsonobject.getString(“id”); }
此代码提供如何解析json

    @Override
    public void onResponse(Call<Login> call, Response<Login> response) {
     if (response.isSuccessful()) {
       JSONObject jsonobject = new JSONObject(yourresponse);
       String mobilenumber = jsonobject.getString("mobilenumber");
       String service = jsonobject.getString("service");
       String id = jsonobject.getString("id");
            } 
@覆盖
公共void onResponse(调用、响应){
if(response.issusccessful()){

JSONObject JSONObject=新的JSONObject(您的响应); 字符串mobilenumber=jsonobject.getString(“mobilenumber”); stringservice=jsonobject.getString(“服务”); stringid=jsonobject.getString(“id”); }
默认情况下,改型只能将HTTP正文反序列化为OkHttp的ResponseBook类型

一种转换器,使用Gson在JSON之间进行序列化。将创建一个默认Gson实例,或者可以配置一个实例并将其传递给GsonConverterFactory以进一步控制序列化

添加到渐变中

compile 'com.squareup.retrofit2:converter-gson:latest.version'


Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.xxx.com")
    .addConverterFactory(GsonConverterFactory.create())
    .build();

默认情况下,改型只能将HTTP主体反序列化为OkHttp的响应库类型

一种转换器,使用Gson在JSON之间进行序列化。将创建一个默认Gson实例,或者可以配置一个实例并将其传递给GsonConverterFactory以进一步控制序列化

添加到渐变中

compile 'com.squareup.retrofit2:converter-gson:latest.version'


Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.xxx.com")
    .addConverterFactory(GsonConverterFactory.create())
    .build();

假设您有这样一个
登录
模型:

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Login {

    @SerializedName("mobilenumber")
    @Expose
    private String mobilenumber;

    @SerializedName("service")
    @Expose
    private String service;

    @SerializedName("id")
    @Expose
    private String id;

    public String getMobilenumber() {
        return mobilenumber;
    }

    public void setMobilenumber(String mobilenumber) {
        this.mobilenumber = mobilenumber;
    }

    public String getService() {
        return service;
    }

    public void setService(String service) {
        this.service = service;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

}
在您的改装
onResponse()
方法中:

@Override
public void onResponse(Call<Login> call, Response<Login> response) {

    if (response.isSuccessful()) {

        Login loginObject = response.body();

        String mobileNumber = loginObject.getMobilenumber();
        String service = loginObject.getService();
        String id = loginObject.getId();
    } 
}
@覆盖
公共void onResponse(调用、响应){
if(response.issusccessful()){
Login loginObject=response.body();
字符串mobileNumber=loginObject.getMobilenumber();
String service=loginObject.getService();
String id=loginObject.getId();
} 
}

假设您有这样的
登录模式:

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Login {

    @SerializedName("mobilenumber")
    @Expose
    private String mobilenumber;

    @SerializedName("service")
    @Expose
    private String service;

    @SerializedName("id")
    @Expose
    private String id;

    public String getMobilenumber() {
        return mobilenumber;
    }

    public void setMobilenumber(String mobilenumber) {
        this.mobilenumber = mobilenumber;
    }

    public String getService() {
        return service;
    }

    public void setService(String service) {
        this.service = service;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

}
在您的改装
onResponse()
方法中:

@Override
public void onResponse(Call<Login> call, Response<Login> response) {

    if (response.isSuccessful()) {

        Login loginObject = response.body();

        String mobileNumber = loginObject.getMobilenumber();
        String service = loginObject.getService();
        String id = loginObject.getId();
    } 
}
@覆盖
公共void onResponse(调用、响应){
if(response.issusccessful()){
Login loginObject=response.body();
字符串mobileNumber=loginObject.getMobilenumber();
String service=loginObject.getService();
String id=loginObject.getId();
} 
}

Reformation将Json解析为开箱即用的对象,在设置Reformation时,您必须添加一个Gson转换器,我想您应该已经添加了。:)问题是什么……澄清itRetrofit将Json解析为开箱即用的对象,在设置Reformation时,您必须添加一个Gson转换器,我想您应该已经添加了。:)iss是什么你应该传递你从服务器得到的响应。你应该传递你从服务器得到的响应。你应该传递你从服务器得到的响应。