android - 用凌空获取数组内的对象
问题描述
我正在尝试检索 json 数组中的对象id
,例如.brand
creditcard
{
"result_count": "2",
"total_no_of_rows": "2",
"status": {
"status_code": "-1",
"status_text": "Success"
},
"cards": [
{
"creditCard": {
"id": "CRC-9C7I2BGN8RJY",
"brand": "AMEX",
"first6": "376449",
"last4": "3005",
"store": true
},
"method": "CREDIT_CARD"
},
{
"creditCard": {
"id": "CRC-FXDA9E2YCWWQ",
"brand": "ELO",
"first6": "636297",
"last4": "7013",
"store": true
},
"method": "CREDIT_CARD"
}
]
}
我没有成功使用下面的请求,因为它返回没有值的卡。
JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET,
url, null, response -> {
arrayData.clear();
try {
JSONArray cards = response.getJSONArray("cards");
for (int i = 0; i < cards.length(); i++) {
JSONObject token = cards.getJSONObject(i);
CardList card = new CardList(
token.getString("id"),
token.getString("brand"),
token.getString("first6"),
token.getString("last4"),
token.getBoolean("store"));
arrayData.add(card);
}
Log.v("arrayData", String.valueOf(arrayData));
} catch (JSONException e) {
Log.v("arrayDataError", String.valueOf(e));
e.printStackTrace();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.v("arrayDataError", String.valueOf(error));
}
});
有人可以帮忙吗?谢谢。
解决方案
为有需要的人提供解决方案:
JSONArray cards = response.getJSONArray("cards");
for (int i = 0; i < cards.length(); i++) {
JSONObject token = cards.getJSONObject(i);
JSONObject creditCard = token.getJSONObject("creditCard");
card_method = token.getString("method").equals("CREDIT_CARD") ?
getString(R.string.creditcard) : getString(R.string.debitcard);
CardList card = new CardList(
creditCard.getString("id"),
creditCard.getString("brand"),
creditCard.getString("first6"),
creditCard.getString("last4"),
creditCard.getBoolean("store"));
arrayData.add(card);
}
推荐阅读
- python - 使用打开的 cv 读取 pygame 窗口
- amazon-web-services - AWS 胶水 - 通过动态条件加载数据
- rust - 如何在 Serum Anchor 中签署代币交易
- django - 没有为 URL 找到没有参数的反向
- r - 使用 forcats 进行因子排序
- python - 这个无效的语法是怎么回事?其他在while循环中
- spark-streaming - 启动脚本中创建计算引擎时报错:“Cannot identify the token”
- java - 以 MB 为单位配置堆缓存大小时 Ehcache 的非法反射访问警告
- fullcalendar - 如何在当天更改完整的日历视图点击反应
- php - Htaccess 在 Aws Linux 2 AMI 上给出 404 错误