使用 Jackson 提取 JSON 数据值 – JsonUtils工具类

提取值

JsonUtils工具类提供了一个extractValue方法,用于从JSON数据中提取特定字段的值。该方法支持返回单一值或值列表,具体取决于JSON数据中字段的类型。

/**
 * 从 JSON 数据中提取值
 *
 * @param jsonData JSON 数据字符串
 * @param field    字段名称
 * @return 提取到的值,如果是列表则返回列表
 */
public static Object extractValue(String jsonData, String field) {
    try {
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode jsonNode = objectMapper.readTree(jsonData);

        // 使用 JsonNode.at 方法获取指定路径的节点
        JsonNode targetNode = jsonNode.at(field);

        // 如果节点是列表,将列表转换为 Java List
        if (targetNode.isArray()) {
            List values = new ArrayList();
            Iterator elements = targetNode.elements();
            while (elements.hasNext()) {
                values.add(elements.next().asText());
            }
            return values;
        } else {
            // 如果节点不是列表,直接返回节点的文

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/347e28c19f.html