Dies ist Json-Format:Wie verschiedene JSON-Format analysieren Retrofit mit
{
"success": true
"message": "User Login successfully"
"response": {
"userDetails": {
"firstName": "yoyo"
"lastName": "ho"
"gender": ""
"batch": null
"userId": 4
"userType": "Student"
"bio": null
"phone": null
"email": "[email protected]"
"country": null
"state": null
"city": null
"pictureUrl": null
"fbLink": null
"twLink": null
"liLink": null
"provider": "EMAIL"
"isVerified": 0
"isActive": 1
}-
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOnsidXNlcklkIjo0LCJ1c2VyVHlwZSI6IlN0dWRlbnQifSwiaWF0IjoxNDYzNDAzMzc5LCJleHAiOjUwNjMzOTk3Nzl9.kxhCqR_vtHVHQwaUKj0KhF3OyZEY6T4Kg-XnOfunaZY"
}-
}
My Model wie das ist, wo ich diese json setzen:
@Parcel
public class UserModel {
public String firstName;
public String lastName;
public String gender;
public String batch;
public String userId;
public String userType;
public String bio;
public String phone;
public String email;
public String country;
public String state;
public String city;
public String pictureUrl;
public String fbLink;
public String twLink;
public String liLink;
public String provider;
public String token;
}
Um den Dienst zu treffen i benutzten:
public interface LoginService {
@FormUrlEncoded
@Headers("Content-Type: application/x-www-form-urlencoded")
@POST("api/v1/login")
Observable<UserModel> loginUser(
@Field("email") String email,
@Field("provider") String provider,
@Field("password") String pass
);
class Factory {
public static LoginService create() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(AppConstants.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
return retrofit.create(LoginService.class);
}
}
}
Wenn i debugge den Code ich fand mein UserModel ist leer, sag mir, wie kann ich den Json mit GsonConverterFactory von Retrofit analysieren.
Ihr JSON-Format ist nicht walid. –
Sind Sie sicher, dass Ihre api/v1/login-Methode Ihre UserModel-Klasse zurückgibt, d. H. Die Informationen, die Sie zum Auffüllen der UserModel-Klasse benötigen? Laut einem früheren Kommentar ist Ihr JSON ungültig und wird nicht Ihrer UserModel-Klasse zugeordnet. –
Okey Sie können Antworten sehen. Ich sage nur, wenn Ihr JSON-Format gültig ist, können Sie Pojo-Klassen wie diese erstellen: http://StackOverflow.com/Questions/37037090/JSONOJECT-TO-JAVA-representation/37037284#37037284 –