在开发过程中,遇到这个问题:
后台数据返回的是:
{ "errorCode": 0, "message": { "message": "成功获取数据" }, "data": { "feedback_type": { "1": "问题反馈", "2": "功能建议", "3": "合作申请", "4": "其他" } } }
这种数据,因为前面是id,也是需要用的值。所以不能用常规的解析。
解析:
JsonData jsonData = JsonData.create(response); String errorCode = jsonData.optString("errorCode"); if ("0".equals(errorCode)) { JsonData data = jsonData.optJson("data"); JsonData feedbackType = data.optJson("feedback_type"); Iterator<?> it = feedbackType.keys(); while (it.hasNext()) { String key = (String) it.next(); String value = feedbackType .optString(key); } }
这个key就是前面的值,value是后面的值。文中的JsonData是一个封装的json解析类。