我有一个REST call
,它会针对成功和失败条件返回单独的 JSON&#39> 。
Success - {"server_method_name":"{\"Master_Tag\":{\**"Table\":[{\"CustomerID\":000000}]**}}"}
Failure - {"server_method_name":"{\"Master_Tag\":{\**"Table\" : [{\"Status\" : \"False\"}]**}}"}
区别在于"表" 标记,因为它包含不同类型的数据。 我该如何解析这个并确定" 表"标签包含?
我正在使用 GSON 库,这是一个Android应用程序。
编辑: 班级结构 -
解析服务器方法名称
public class ParseCustomerLoginResponseMethodName {
@SerializedName("server_method_name")
private String mMethodName;
/**
*
*/
public ParseCustomerLoginResponseMethodName() {
// TODO Auto-generated constructor stub
}
/**
* @return the methodName
*/
public String getMethodName() {
return this.mMethodName;
}
/**
* @param methodName the methodName to set
*/
public void setMethodName(String methodName) {
this.mMethodName = methodName;
}
}
解析标签 -
public class ParseCustomerLoginResponseTag {
@SerializedName("Master_Tag")
private ParseCustomerLoginResponseTable mTable;
/**
*
*/
public ParseCustomerLoginResponseTag() {
// TODO Auto-generated constructor stub
}
/**
* @return the table
*/
public ParseCustomerLoginResponseTable getTable() {
return this.mTable;
}
/**
* @param table the table to set
*/
public void setTable(ParseCustomerLoginResponseTable table) {
this.mTable = table;
}
}
解析SUCCESS结果的数据 -
public class ParseCustomerLoginResponseTable {
@SerializedName("Table")
private ArrayList<CustomerLogin> mList;
/**
*
*/
public ParseCustomerLoginResponseTable() {
// TODO Auto-generated constructor stub
}
/**
* @return the list
*/
public ArrayList<CustomerLogin> getList() {
return this.mList;
}
/**
* @param list the list to set
*/
public void setList(ArrayList<CustomerLogin> list) {
this.mList = list;
}
}
解析ERROR响应 -
public class ParseJsonErrorResponse {
@SerializedName("Status")
private String mStatus;
/**
*
*/
public ParseJsonErrorResponse() {
// TODO Auto-generated constructor stub
}
/**
* @return the status
*/
public String getStatus() {
return this.mStatus;
}
/**
* @param status the status to set
*/
public void setStatus(String status) {
this.mStatus = status;
}
}
使用上面的类结构我可以解析SUCCESS条件。 我无法弄清楚在哪里使用ParseJsonErrorResponse类,解析ERROR条件的类结构是错误的吗?
答案 0 :(得分:0)
让你的持有者类有两个属性:
public class Table(){
boolean Status;
long CustomerID;
}
你必须检查它是否为空。