字段值"/>
万能的JSON解析方法,获取指定字段值
直接上代码:
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;private String handleJsonResponse(String response,String field) {if(StringUtils.isBlank(field)){return response;}JSONObject jsonObject = JSON.parseObject(response);return getFieldValue(jsonObject,field);}public String getFieldValue(JSONObject jsonObject, String fieldName) {for (String key : jsonObject.keySet()) {Object value = jsonObject.get(key);if (key.equals(fieldName)) {return value.toString();} else if (value instanceof JSONObject) {String fieldValue = getFieldValue((JSONObject) value, fieldName);if (fieldValue != null) {return fieldValue;}} else if (value instanceof JSONArray) {JSONArray jsonArray = (JSONArray) value;String fieldValue = getFieldValue(jsonArray, fieldName);if (fieldValue != null) {return fieldValue;}}}return null;}public String getFieldValue(JSONArray jsonArray, String fieldName) {for (Object objectValue : jsonArray) {if (objectValue instanceof JSONObject) {String fieldValue = getFieldValue((JSONObject) objectValue, fieldName);if (fieldValue != null) {return fieldValue;}}else if(objectValue instanceof JSONArray){String fieldValue = getFieldValue((JSONArray)objectValue, fieldName);if (fieldValue != null) {return fieldValue;}}}return null;}
如果第一步JSONARRAY的话,先调用第二个方法。
更多推荐
万能的JSON解析方法,获取指定字段值
发布评论