91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么能夠快速解析json字符串中元素的幫助類

發布時間:2021-10-19 16:03:38 來源:億速云 閱讀:123 作者:柒染 欄目:大數據

本篇文章為大家展示了怎么能夠快速解析json字符串中元素的幫助類,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在開發過程中,我大量接觸到了解析json字符串的需求,拿去對應需求的元素。在此過程中,我編寫了能夠快速拿取json字符串的幫助類。

一、引入依賴:

//用gradle管理
implementation "com.fasterxml.jackson.core:jackson-databind"

二、幫助類代碼:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.StringUtils;

import java.io.IOException;

/**
 * @author edison_kwok
 */
public class JsonUtils {

    private static ObjectMapper objectMapper = new ObjectMapper();

    /**
     * 根據路徑解析json字符串,獲取String類型數據
     *
     * @param content
     * @param path
     * @return
     * @throws IOException
     */
    public static String parse(String content, Object[] path) throws IOException {
        if (StringUtils.isBlank(content)) {
            return null;
        }
        try {
            JsonNode node = objectMapper.readTree(content);
            int len = path.length;
            int index = 0;
            while (index < len) {
                if (path[index] instanceof Integer) {
                    int i = (Integer) path[index];
                    node = node.get(i);
                } else if (path[index] instanceof String) {
                    String s = (String) path[index];
                    node = node.get(s);
                }
                index++;
            }
            String result = node.toString();
            return result.substring(1, result.length() - 1);
        } catch (NullPointerException e) {
            return null;
        }
    }

    /**
     * 根據路徑解析json字符串,獲取Integer類型字符串
     *
     * @param content
     * @param path
     * @return
     * @throws IOException
     */
    public static Integer parseInteger(String content, Object[] path) throws IOException {
        if (StringUtils.isBlank(content)) {
            return null;
        }
        try {
            JsonNode node = objectMapper.readTree(content);
            int len = path.length;
            int index = 0;
            while (index < len) {
                if (path[index] instanceof Integer) {
                    int i = (Integer) path[index];
                    node = node.get(i);
                } else if (path[index] instanceof String) {
                    String s = (String) path[index];
                    node = node.get(s);
                }
                index++;
            }
            String result = node.toString();
            return Integer.parseInt(result);
        } catch (NullPointerException e) {
            return null;
        }
    }

    /**
     * 根據路徑解析json字符串,獲取當中的json字符串
     *
     * @param content
     * @param path
     * @return
     * @throws IOException
     */
    public static String parseJson(String content, Object[] path) throws IOException {
        if (StringUtils.isBlank(content)) {
            return null;
        }
        try {
            JsonNode node = objectMapper.readTree(content);
            int len = path.length;
            int index = 0;
            while (index < len) {
                if (path[index] instanceof Integer) {
                    int i = (Integer) path[index];
                    node = node.get(i);
                } else if (path[index] instanceof String) {
                    String s = (String) path[index];
                    node = node.get(s);
                }
                index++;
            }
            return node.toString();
        } catch (NullPointerException e) {
            return null;
        }
    }
}

三、使用:

在項目開發中,如果大量使用到了json解析需求,可以使用本幫助類。

上述內容就是怎么能夠快速解析json字符串中元素的幫助類,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定南县| 山西省| 鹰潭市| 玉林市| 北碚区| 诸暨市| 景洪市| 德惠市| 聂拉木县| 文成县| 南部县| 金秀| 宜春市| 新巴尔虎右旗| 舞钢市| 孟州市| 安龙县| 都匀市| 陇南市| 平凉市| 绿春县| 花垣县| 涪陵区| 临武县| 樟树市| 洪泽县| 屏边| 鲁甸县| 平舆县| 都昌县| 新竹县| 华阴市| 抚远县| 洛浦县| 东源县| 南皮县| 渝北区| 呼图壁县| 周至县| 锦州市| 广州市|