How To Get A Subobject From Json Response
i'm trying to retrieve an inner object from a json response, my json pojo looks like this: public class Pojo { private String token; private User user; public Pojo()
Solution 1:
this just mirror code for model classes using Gson library
Pojo.java
import com.google.gson.annotations.SerializedName;
publicclassPojo {
@SerializedName("token")
privateString token;
@SerializedName("user")
privateUser user;
publicPojo(String username, String password,User user) {
// TODO Auto-generated constructor stub
user.setUsername(username);
user.setPassword(password);
this.token = "tokengfsgfds";
this.user = user;
}
publicStringgetToken() {
return token;
}
publicvoidsetToken(String token) {
this.token = token;
}
publicUsergetUser() {
return user;
}
publicvoidsetUser(User user) {
this.user = user;
}
}
take User out of Pojo and make another class User.java
import com.google.gson.annotations.SerializedName;
publicclassUser {
@SerializedName("username")
privateString username;
@SerializedName("name")
privateString name;
@SerializedName("phone")
privateString phone;
@SerializedName("email")
privateString email;
@SerializedName("password")
privateString password;
@SerializedName("is_Active")
privateboolean is_active;
publicStringgetUsername() {
return username;
}
publicvoidsetUsername(String username) {
this.username = username;
}
publicStringgetName() {
return name;
}
publicvoidsetName(String name) {
this.name = name;
}
publicStringgetPhone() {
return phone;
}
publicvoidsetPhone(String phone) {
this.phone = phone;
}
publicStringgetEmail() {
return email;
}
publicvoidsetEmail(String email) {
this.email = email;
}
publicStringgetPassword() {
return password;
}
publicvoidsetPassword(String password) {
this.password = password;
}
publicbooleanisIs_active() {
return is_active;
}
publicvoidsetIs_active(boolean is_active) {
this.is_active = is_active;
}
}
I used Gson but the output should be the same
import com.google.gson.Gson;
publicclassTestTwo {
publicstaticvoidmain(String[] args) {
User user = new User();
user.setEmail("someone@gmailcom");
user.setIs_active(true);
user.setName("Cristian");
user.setPassword("Cam");
user.setPhone("1234123441");
user.setUsername("cam.cri");
Pojo pojo = new Pojo("cam.cri", "Cam", user);
String result = (new Gson()).toJson(pojo);
System.out.println(""+result);
Pojo pojo2 = (new Gson()).fromJson(result, Pojo.class);
System.out.println("Token: \t"+pojo2.getToken());
System.out.println("email: \t"+pojo2.getUser().getEmail());
System.out.println("is_active: \t"+pojo2.getUser().isIs_active());
System.out.println("Name: \t"+pojo2.getUser().getName());
System.out.println("Password: \t"+pojo2.getUser().getPassword());
System.out.println("phone: \t"+pojo2.getUser().getPhone());
System.out.println("Username: \t"+pojo2.getUser().getUsername());
}
}
Output
{"token":"tokengfsgfds","user":{"username":"cam.cri","name":"Cristian","phone":"1234123441","email":"someone@gmailcom","password":"Cam","is_Active":true}}
output
Token: tokengfsgfds
email: someone@gmailcom
is_active:trueName: Cristian
Password: Cam
phone:1234123441Username: cam.cri
Post a Comment for "How To Get A Subobject From Json Response"