×

解析JSON的遇到的问题

渣渣酒 渣渣酒 发表于2020-11-16 14:26:55 浏览955 评论0

抢沙发发表评论

在开发过程中,遇到这个问题:
后台数据返回的是:

{
    "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解析类。