Android 获取编号的json键值
下面是我从API得到的响应Android 获取编号的json键值,android,json,Android,Json,下面是我从API得到的响应 [{ "claim1": [{ "claim_no": "1", "claim_date": "14\/06\/2017 12:00:00 AM", "month_code": "1", "claim_amount": "8074" }] }, { "billing1": [{ "claim_n
[{
"claim1": [{
"claim_no": "1",
"claim_date": "14\/06\/2017 12:00:00 AM",
"month_code": "1",
"claim_amount": "8074"
}]
}, {
"billing1": [{
"claim_no": "141",
"month_code": "1",
"miti": "6",
"amount": "7374",
"paid": "7374",
"fee1": "0"
}]
}, {
"claim2": [{
"claim_no": "26",
"claim_date": "20\/06\/2017 12:00:00 AM",
"month_code": "2",
"claim_amount": "2424"
}]
}, {
"billing2": []
}, {
"claim3": [{
"claim_no": "40",
"claim_date": "13\/07\/2017 12:00:00 AM",
"month_code": "3",
"claim_amount": "2924"
}]
}, {
"billing3": [{
"claim_no": "724",
"month_code": "3",
"miti": "13",
"amount": "2924",
"paid": "2924",
"fee1": "0"
}]
}, {
"claim4": [{
"claim_no": "43",
"claim_date": "09\/08\/2017 12:00:00 AM",
"month_code": "4",
"claim_amount": "2424"
}]
}, {
"billing4": [{
"claim_no": "402",
"month_code": "4",
"miti": "20",
"amount": "5348",
"paid": "3124",
"fee1": "0"
}]
}]
我正在使用aQuery jsonarray类。
我试图在JSON对象中获取它,但得到了如下错误 无法将jsonarray转换为jsonobject 下面是我的代码。
此代码向我显示此错误 “org.json.JSONException:索赔没有值\u No” 我想得到索赔编号的价值
aq.ajax("myapiurlhere", JSONArray.class, new AjaxCallback<JSONArray>(){
@Override
public void callback(String url, JSONArray array, AjaxStatus status) {
super.callback(url, array, status);
Log.i("response:", "response:" + url + array);
for (int i = 0; i < array.length(); i++) {
try {
JSONObject object = array.getJSONObject(i);
bill_no = object.getString("claim_no");
Log.i("response:","claim: "+claim_no+" bill: "+object);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
});
ajax(“myapirlhere”,JSONArray.class,新的AjaxCallback(){
@凌驾
公共无效回调(字符串url、JSONArray数组、AjaxStatus状态){
super.callback(url、数组、状态);
Log.i(“响应:”,“响应:”+url+数组);
对于(int i=0;i"claim1": [
你得到了一个目标
JSONObject claimobject = object.getJSONObject("claim"+mycount);
你需要先得到一个数组
JSONObject claimobject = object.getJSONArray("claim"+mycount).getJSONObject(0);
此外,您的API结构不良,并且int mycount=i+1代码>可能会失败,因为您同时计算帐单和索赔元素
试试这个
for (int i = 0; i < array.length(); i++) {
int mycount = (i/2)+1;
try {
for(int i=0;i
JSONArray无法转换为JSONObject
…不言而喻。使用数组,而不是object提示:方括号内的内容是数组,大括号内的内容是对象。因此,相应地使用JSONArray
和JSONObject
。感谢您的回答。它起作用了,我觉得需要对api进行更改。 :)
for (int i = 0; i < array.length(); i++) {
int mycount = (i/2)+1;
try {