千家信息网

怎么能够快速解析json字符串中元素的帮助类

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章为大家展示了怎么能够快速解析json字符串中元素的帮助类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在开发过程中,我大量接触到了解析json字符串的
千家信息网最后更新 2025年12月02日怎么能够快速解析json字符串中元素的帮助类

本篇文章为大家展示了怎么能够快速解析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字符串中元素的帮助类,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0