【发布时间】:2015-11-16 04:20:15
【问题描述】:
我正在从四天开始进行改造。我学会了如何从 Web 服务获取数据,但现在我坚持这个响应。请任何人告诉我如何从网络服务获取数据。如何获取 operator id、operator、RechareTypes 字符串数组。请任何人帮助我。提前致谢。
我的代码: 运营商:
public class Operator {
@Expose
private String OperatorID="";
@Expose
private String ServiceTypeID="";
public String getServiceTypeID() {
return ServiceTypeID;
}
public void setServiceTypeID(String serviceTypeID) {
ServiceTypeID = serviceTypeID;
}
public String getOperatorID() {
return OperatorID;
}
public void setOperatorID(String operatorID) {
OperatorID = operatorID;
}
public String getOperatorname() {
return operatorname;
}
public List<Operators> getOrderItems() {
return OrderItems;
}
public void setOrderItems(List<Operators> orderItems) {
OrderItems = orderItems;
}
public void setOperatorname(String operatorname) {
this.operatorname = operatorname;
}
@Expose
private String operatorname="";
@Expose
private List<Operators> OrderItems = new ArrayList<Operators>();
public Operator(){
}
}
运营商:
public class Operators {
private String RechargeTypeID="";
public String getRechargeType() {
return RechargeType;
}
public void setRechargeType(String rechargeType) {
RechargeType = rechargeType;
}
public String getSMSCode() {
return SMSCode;
}
public void setSMSCode(String SMSCode) {
this.SMSCode = SMSCode;
}
public String getRechargeTypeID() {
return RechargeTypeID;
}
public void setRechargeTypeID(String rechargeTypeID) {
RechargeTypeID = rechargeTypeID;
}
private String RechargeType="";
private String SMSCode="";
}
活动:
ArrayList<Operator> operator;
void executeCircleAndOperatorsList() {
db.ClearTables();
ServiceClient serviceClient = ServiceUtil.getServiceClient();
JsonParser jsonParser = new JsonParser();
serviceClient.getOperators("getRecharge_Operator_v2", operatorCallback);
}
Callback<JsonObject> operatorCallback = new Callback<JsonObject>() {
@Override
public void success(final JsonObject jsonObject, Response response) {
parseoperators(jsonObject);
Thread t=new Thread(new Runnable() {
@Override
public void run() {
parseoperators(jsonObject);
}
});
t.start();
}
@Override
public void failure(RetrofitError error) {
}
};
public void parseoperators(JsonObject result) {
if(result.has("Status")){
try{
String Status = result.get("Status")
.getAsString();
if (Status.equals("1")) {
Gson gson = new Gson();
JsonArray array = result.get(
"data").getAsJsonArray();
Log.v("TAG_CIRCLELIST", "" + array);
Type type = new TypeToken<ArrayList<Operator>>() {
}.getType();
operator.addAll((Collection<? extends Operator>) gson
.fromJson(array, type));
}
else {
throw new JSONException("Something went wrong ");
}
}
catch(JSONException e){
}
}
}
json:
{
"Status": 1,
"data": [
{
"ServiceTypeID": 1,
"OperatorID": 1,
"Operator": "Airtel",
"RechareTypes": [
{
"RechargeTypeID": 1,
"RechargeType": "Topup",
"SMSCode": "AIRT"
}
]
},
{
"ServiceTypeID": 1,
"OperatorID": 2,
"Operator": "BSNL",
"RechareTypes": [
{
"RechargeTypeID": 2,
"RechargeType": "Topup",
"SMSCode": "BSNL"
},
{
"RechargeTypeID": 3,
"RechargeType": "Special",
"SMSCode": "BSNLSPL"
}
]
},
{
"ServiceTypeID": 1,
"OperatorID": 3,
"Operator": "Aircel",
"RechareTypes": [
{
"RechargeTypeID": 4,
"RechargeType": "Topup",
"SMSCode": "AIRC"
}
]
},
{
"ServiceTypeID": 1,
"OperatorID": 4,
"Operator": "Idea",
"RechareTypes": [
{
"RechargeTypeID": 5,
"RechargeType": "Topup",
"SMSCode": "IDEA"
}
]
}
]
}
【问题讨论】:
-
你有什么错误吗???
-
在该数据之后查看我的 parseoperators 方法我如何从响应中获取剩余字符串。请给我打电话
-
将
operator arrayList初始化为 `operator = new ArrayList(); -
我如何得到这些字符串? “RechargeTypeID”:“RechargeType”:“SMSCode”:
-
我也没有得到操作员 ID 和操作员姓名 :(
标签: android json web-services retrofit