how to store JSONObject result into BeanClass using java In Android?

纵饮孤独 提交于 2020-01-06 15:21:24

问题


i am newbie and getting difficulty to save my JSonObject into my Beanclass *this is JSON Object:* on result of this LOC:

 JSONObject responseJson;
 Log.i("LoginActivity",responseJson.toString());

11-28 22:15:56.525: I/LoginActivity(22793): {"message":"Successfully Logged In.","auths":"Global Administrator,Installer,KONG,Project Manager,SendPdfToCustomerRole,Surveyor ","user":{"view_all_proposals":"0","role_id":"1","contact_no":"020 8547 4333 (x354)","date_modified":"2013-10-10 10:08:07","status":"ACTIVE","profit_margin_limit":"","cash_code":"KHO","date_created":"2013-02-03 06:41:41","user_initials":"KHO","password":"f10343d1dc8d44c8935b356aa3f8aae2","id":"27","first_name":"Kong","username":"kong","is_admin":"0","address":"Technology Manager","email":"kong.hoang@mrfsgroup.com","proposal_review":"3000000","last_name":"Hoang","ldap_authentication":"0"},"status":true,"apkStatus":true,"apkFileDate":"2013-11-25 05:07:27","apkFile":"34_SurveyAppNew.apk"}

and My Bean Class:

public class LoginBean {
private int id;
private String username;
private String password;
private String email;
private String status;
private Date ACTIVE;
private Date dateCreated;
private Date dateModified;
private String isAdmin; // is '0'
private String userInitials;
private int roleId;
private String firstName;
private String lastName;
private String contactNo;
private String address;
private String profitMarginLimit;

/**
 * @return the id
 */
public int getId() {
    return id;
}
/**
 * @param id the id to set
 */
public void setId(int id) {
    this.id = id;
}
/**
 * @return the username
 */
public String getUsername() {
    return username;
}
/**
 * @param username the username to set
 */
public void setUsername(String username) {
    this.username = username;
}
/**
 * @return the password
 */
public String getPassword() {
    return password;
}
/**
 * @param password the password to set
 */
public void setPassword(String password) {
    this.password = password;
}
/**
 * @return the email
 */
public String getEmail() {
    return email;
}
/**
 * @param email the email to set
 */
public void setEmail(String email) {
    this.email = email;
}
/**
 * @return the status
 */
public String getStatus() {
    return status;
}
/**
 * @param status the status to set
 */
public void setStatus(String status) {
    this.status = status;
}
/**
 * @return the aCTIVE
 */
public Date getACTIVE() {
    return ACTIVE;
}
/**
 * @param aCTIVE the aCTIVE to set
 */
public void setACTIVE(Date aCTIVE) {
    ACTIVE = aCTIVE;
}
/**
 * @return the dateCreated
 */
public Date getDateCreated() {
    return dateCreated;
}
/**
 * @param dateCreated the dateCreated to set
 */
public void setDateCreated(Date dateCreated) {
    this.dateCreated = dateCreated;
}
/**
 * @return the dateModified
 */
public Date getDateModified() {
    return dateModified;
}
/**
 * @param dateModified the dateModified to set
 */
public void setDateModified(Date dateModified) {
    this.dateModified = dateModified;
}
/**
 * @return the isAdmin
 */
public String getIsAdmin() {
    return isAdmin;
}
/**
 * @param isAdmin the isAdmin to set
 */
public void setIsAdmin(String isAdmin) {
    this.isAdmin = isAdmin;
}
/**
 * @return the userInitials
 */
public String getUserInitials() {
    return userInitials;
}
/**
 * @param userInitials the userInitials to set
 */
public void setUserInitials(String userInitials) {
    this.userInitials = userInitials;
}
/**
 * @return the roleId
 */
public int getRoleId() {
    return roleId;
}
/**
 * @param roleId the roleId to set
 */
public void setRoleId(int roleId) {
    this.roleId = roleId;
}
/**
 * @return the firstName
 */
public String getFirstName() {
    return firstName;
}
/**
 * @param firstName the firstName to set
 */
public void setFirstName(String firstName) {
    this.firstName = firstName;
}
/**
 * @return the lastName
 */
public String getLastName() {
    return lastName;
}
/**
 * @param lastName the lastName to set
 */
public void setLastName(String lastName) {
    this.lastName = lastName;
}
/**
 * @return the contactNo
 */
public String getContactNo() {
    return contactNo;
}
/**
 * @param contactNo the contactNo to set
 */
public void setContactNo(String contactNo) {
    this.contactNo = contactNo;
}
/**
 * @return the address
 */
public String getAddress() {
    return address;
}
/**
 * @param address the address to set
 */
public void setAddress(String address) {
    this.address = address;
}
/**
 * @return the profitMarginLimit
 */
public String getProfitMarginLimit() {
    return profitMarginLimit;
}
/**
 * @param profitMarginLimit the profitMarginLimit to set
 */
public void setProfitMarginLimit(String profitMarginLimit) {
    this.profitMarginLimit = profitMarginLimit;
}
}

Can someone please guide me how can i save JSON response into my BeanClass.


回答1:


You can do it by a lots of line of code. Since you are a newbie I don't recommend you to use this library Gson but it will solve your problem. Its just one line of code using Gson

Using Gson...

Gson gson = new Gson();
Loginbean bean = new LoginBean(......); // Your constructor 
bean.setXYZ(....); // If you want
String json = gson.toJson(bean);
// And
LoginBean gotFromJson = gson.fromJson(json, LoginBean.class);
// Where json is the JSON you got from response
// You can get all the values of your fields here. like...
int id = gotFromJson.getId();
// and other getters. it will still return the values.

You can find Gson here




回答2:


I think you require exactly this

http://khurramitdeveloper.blogspot.in/search?q=gson+

read carefully you will find solution for your problem :) Happy Coddddding :)



来源:https://stackoverflow.com/questions/20259205/how-to-store-jsonobject-result-into-beanclass-using-java-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!