Android 在改型中解析Json响应
来自WebService的调用响应如下: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()) { }
{
"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是什么你应该传递你从服务器得到的响应。你应该传递你从服务器得到的响应。你应该传递你从服务器得到的响应。