jinlin
2024-08-02 0d2203b4027ae3bf524d63da67202e778648e4cf
zt/common/src/main/java/com/zt/common/utils/JsonUtils2.java
@@ -1,12 +1,13 @@
package com.zt.common.utils;
import cn.hutool.core.convert.Convert;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import org.apache.commons.lang3.ArrayUtils;
public class JsonUtils2 {
    public static boolean setArrJsonValueByPath(JSONObject pJSONObject, String[] path, String searchKey, String searchValue, String targetKey, Object value) {
    /*    public static boolean setArrJsonValueByPath(JSONObject pJSONObject, String[] path, String searchKey, String searchValue, String targetKey, Object value) {
        if (path.length == 1) {
            JSONArray jsonArray = pJSONObject.getJSONArray(path[0]);
            for (int i = 0; i < jsonArray.size(); i++
@@ -23,6 +24,34 @@
            setArrJsonValueByPath(sJSONObject, path, searchKey, searchValue, targetKey, value);
        }
        return false;
        }*/
    public static boolean setArrJsonValueByPath(JSONObject pJSONObject, String[] path, String searchKey, String searchValue, String path2, Object value) {
        return setArrJsonValueByPath(pJSONObject, path, searchKey, searchValue, path2.split("/"), value);
    }
    public static boolean setArrJsonValueByPath(JSONObject pJSONObject, String[] path, String searchKey, String searchValue, String[] path2, Object value) {
        if (path.length == 1) {
            JSONArray jsonArray = pJSONObject.getJSONArray(path[0]);
            JSONObject targetJSONObject = null;
            if (searchKey != null) {
                for (int i = 0; i < jsonArray.size(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    if (jsonObject.get(searchKey).equals(searchValue)) {
                        targetJSONObject = jsonObject;
                    }
                }
            } else {
                targetJSONObject = jsonArray.getJSONObject(0);
            }
            setJsonValueByPath(targetJSONObject, path2, value);
            return true;
        } else {
            JSONObject sJSONObject = pJSONObject.getJSONObject(path[0]);
            path = ArrayUtils.remove(path, 0);
            setArrJsonValueByPath(sJSONObject, path, searchKey, searchValue, path2, value);
        }
        return false;
    }
    public static Object getArrJsonValueByPath(JSONObject pJSONObject, String[] path, String searchKey, String searchValue, String targetKey) {