中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么能夠快速解析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

辰溪县| 绥棱县| 广宁县| 高清| 曲靖市| 会理县| 杨浦区| 张家川| 高淳县| 花莲县| 婺源县| 梓潼县| 新竹市| 安福县| 绿春县| 普定县| 安西县| 达州市| 富民县| 曲松县| 宝兴县| 鲁山县| 凤阳县| 镶黄旗| 化德县| 绥阳县| 砀山县| 临江市| 师宗县| 东阳市| 晴隆县| 怀远县| 平凉市| 睢宁县| 玉溪市| 崇礼县| 文登市| 镇雄县| 城固县| 永吉县| 海盐县|