原创

java去除json value为空的键值对(key,value)深度去除

public class Commons {
static String keyss;
static Object objectss;

@SuppressWarnings("rawtypes")
public static Object skiptojson(Object expect_json, String skip_values) {
    if (expect_json instanceof JSONArray) {
        JSONArray objArray = (JSONArray) expect_json;
        for (int i = 0; i < objArray.size(); i++) {
            skiptojson(objArray.get(i), skip_values);
        }
    }
    //如果为json对象
    else if (expect_json instanceof JSONObject) {
        JSONObject jsonObjectss = (JSONObject) expect_json;
        Iterator itss = jsonObjectss.keys();
        while (itss.hasNext()) {
            keyss = itss.next().toString();
            objectss = jsonObjectss.get(keyss);
            // 如果得到的是数组
            if (objectss instanceof JSONArray) {
                if (keyss.equals(skip_values)) {
                    //删除指定的key和key值
                    if (Objects.equals(objectss.toString(),"[]")) {
                        System.out.println("jinlail");
                        jsonObjectss.discard(skip_values);
                    }else {
                        JSONArray objArray = (JSONArray) objectss;
                        skiptojson(objArray, skip_values);
                    }
                    break;
                } else {
                    JSONArray objArray = (JSONArray) objectss;
                    skiptojson(objArray, skip_values);
                }
                // 如果key中是一个json对象
            } else if (objectss instanceof JSONObject) {
                if (keyss.equals(skip_values)) {
                    //删除指定的key和key值
                    if (Objects.equals(objectss.toString(),"[]")) {
                        System.out.println("jinlail");
                        jsonObjectss.discard(skip_values);
                    }
                    break;
                } else {
                    skiptojson((JSONObject) objectss, skip_values);
                }
            }
            // 如果key中是其他
            else {
                if (keyss.equals(skip_values)) {
                    //删除key和key值
                    if (Objects.equals(objectss.toString(),"[]")) {
                        System.out.println("jinlail");
                        jsonObjectss.discard(skip_values);
                    }
                    break;
                }
            }
        }
    }
    return expect_json;
}

}

正文到此结束
本文目录