Newer
Older
casic-metering-biz-xichang / casic-metering-common / src / main / java / com / casic / missiles / utils / JsonUtil.java
package com.casic.missiles.utils;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @Author: wangpeng
 * @Date: 2023/10/18 14:07
 */
public class JsonUtil {

    /**
     * 获取JSONObject中指定key的所有value
     * @param obj
     * @param key
     * @return
     */
    public static List<String> getValueByJsonKey(Object obj, String key){
        List<String> valueList = new ArrayList<>();
        if(obj instanceof JSONObject){
            for (Map.Entry<String, Object> entry : ((JSONObject) obj).entrySet()) {
                if(key.equals(entry.getKey())){
                    valueList.add(String.valueOf(entry.getValue()));
                }
                if(!(entry.getValue() instanceof String)){
                    getValueByJsonKey(entry.getValue(),entry.getKey());
                }
            }
        }
        if(obj instanceof JSONArray){
            JSONArray jsonArray = (JSONArray) obj;
            for (int i = 0;i < jsonArray.size();i++){
                getValueByJsonKey(jsonArray.get(i), key);
            }
        }
        return valueList;
    }
}