我将xml内容转换为JSON内容,内容如下
{
"response":
{
"seatlist":
{
"seat":
{
"balance":85694.6,"num":12
},
"seat":
{
"balance":85694.6,"num":12
}
},
"userid":"8970ca285d9c4e4d",
"seatnum":12,
"session":"online"
}
}
我可以通过以下方式获取userid和seatnum
JSONObject response = json.getJSONObject("response");
out.setUserid(response.getString("userid"));
out.setBalance(Double.valueOf(response.getString("balance")));
现在的问题是我需要解析以下内容,并需要获取“ num”值
"seatlist":
{
"seat":
{
"balance":85694.6,"num":12
},
"seat":
{
"balance":85694.6,"num":12
}
}
这是我正在使用的代码
JSONObject objList = response.getJSONObject(“ seatlist”);
字符串n = String.valueOf(objList.getJSONObject(“ seat”));
if(objList.getJSONObject(“ seat”)。get(“ userId”)。equals(userId)){字符串num = String.valueOf(objList.getJSONObject(“ seat”)。get(“ num”)); out.setSeatNum(Integer.valueOf(num)); }
如果我有一个席位值,我可以获取“ num”值,否则我将获取JSON异常
请给我一个建议.....
{
"response":
{
"seatlist":
{
"seat":
{
"balance":85694.6,"num":12
},
"seat":
{
"balance":85694.6,"num":12
}
},
"userid":"8970ca285d9c4e4d",
"seatnum":12,
"session":"online"
}
}
表示具有称为响应的对象的对象。其中包含一个名为Seatlist的对象。它包含2个称为seat的对象(但这是错误的!应该是一个数组!)。等等..
阅读此内容,您可以使用
JSONObject json = new JSONObject(yourresponse);
JSONObject response = json.getJSONObject("response");
JSONObject seatlist = response.getJSONObject("seatlist");
JSONObject userid = response.getJSONObject("userid");
JSONObject seatnum = response.getJSONObject("seatnum");
JSONObject session = response.getJSONObject("session");
现在座位列表中包含。
{
"seat":
{
"balance":85694.6,"num":12
},
"seat":
{
"balance":85694.6,"num":12
}
}
这是错误的,因为它包含2个具有相同名称的元素。现在,您可以按如下所示通过索引来调用它:
JSONObject seat1 = seatlist.getJSONObject(1);
JSONObject seat2 = seatlist.getJSONObject(2);
seat1.getString("balanace"); seat1.getInt("num");
或者您可以遍历JSONObject。
至少它应该是一个数组而不是JSONOBject。
这意味着它应该看起来像这样。
{
"response": {
"seatlist": [
"seat":
{
"balance":85694.6,"num":12
},
"seat":
{
"balance":85694.6,"num":12
}
],
"userid":"8970ca285d9c4e4d",
"seatnum":12,
"session":"online"
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句