android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...

博主在尝试解析包含复杂结构的API响应,特别是处理可能为空的JSONArray。在解析过程中遇到了空指针异常,主要集中在处理"tags_name"字段上。他们已提供了API的JSON样本数据,并展示了部分解析代码,但遇到瓶颈在将JSONArray转化为列表并存储在模型类中。目前计划使用模型类来实现解析,并后续创建列表视图。问题在于如何正确处理可能为空的JSONArray并避免空指针异常。
摘要由CSDN通过智能技术生成

我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象“tags_name”:[“Activities”] ,,它会来的一些对象像“tags_name”:[], this.Kindly审查我的问题。我的API和代码如下。目前我将用模型类实现解析代码。一旦解决这个问题,我必须写列表视图编码,请帮助我。可能是我的问题形成是愚蠢的。请它看起来像意味着给框架问题一些建议。提前致谢。Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?

MyAPI:

{

"status": true,

"nextpage": 0,

"count": 31,

"data": {

"postlist": [{

"posts": {},

"tags_name": ["Activities"],

"images_count": 3,

"images": [],

"post_user": [],

"is_encourage_user": true,

"encourage_feed_id": "1093"

},

{

"posts": {"id": "4647"},

"tags_name": [],

"images_count": 0,

"images": [],

"post_user": [],

"is_encourage_user": true,

"encourage_feed_id": "992"

}

]

},

"token": "wqeeqweqweqweqweqsfsdfsdf"

}

我来解析

private void parsingPostValues(String responseStatus) throws JSONException {

JSONObject responseObject = new JSONObject(responseStatus);

JSONObject datObject = responseObject.getJSONObject("data");

JSONArray postArr = new JSONArray(datObject.getString("postlist"));

for (int i = 0; i < postArr.length(); i++) {

JSONObject tempPostObject = postArr.getJSONObject(i);

JSONObject postObject = tempPostObject.getJSONObject("posts");

//setTag Array- this is the functional area i'm in bottle-neck.

try {

JSONArray tagNameArr = tempPostObject.getJSONArray("tags_name");

//ArrayList tagListdata = new ArrayList(tagNameArr.length());

if (tagNameArr.length()>0) {

for (int tagInfo = 0; tagInfo < tagNameArr.length(); tagInfo++) {

// listdata.add(tagNameArr.get(i).toString());

String tagme = "";

//Bean tagBean = new Bean();

//tagBean.setTagsArray((tagme.isEmpty() ? tagNameArr.get(tagInfo).toString() : "null")); //tagBean.setTagsArray(tagNameArr.get(tagInfo).toString());

//tagListdata.add(tagBean);

//beanAccess.setTagsArray(tagNameArr.get(tagInfo));

System.out.println("Tags Array:"+tagInfo+":"+tagNameArr.get(tagInfo));

}

//beanAccess.setTagsArray(tagListdata);

}

} catch (Exception e) {

e.printStackTrace();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值