• JacksonUtil


    package org.linlinjava.litemall.core.util;
    
    import com.fasterxml.jackson.core.type.TypeReference;
    import com.fasterxml.jackson.databind.JsonNode;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    
    import java.io.IOException;
    import java.util.List;
    import java.util.Map;
    
    public class JacksonUtil {
    
        private static final Log logger = LogFactory.getLog(JacksonUtil.class);
    
        public static String parseString(String body, String field) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                JsonNode leaf = node.get(field);
                if (leaf != null)
                    return leaf.asText();
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
    
        public static List<String> parseStringList(String body, String field) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                JsonNode leaf = node.get(field);
    
                if (leaf != null)
                    return mapper.convertValue(leaf, new TypeReference<List<String>>() {
                    });
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
        public static Integer parseInteger(String body, String field) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                JsonNode leaf = node.get(field);
                if (leaf != null)
                    return leaf.asInt();
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
        public static List<Integer> parseIntegerList(String body, String field) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                JsonNode leaf = node.get(field);
    
                if (leaf != null)
                    return mapper.convertValue(leaf, new TypeReference<List<Integer>>() {
                    });
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
    
        public static Boolean parseBoolean(String body, String field) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                JsonNode leaf = node.get(field);
                if (leaf != null)
                    return leaf.asBoolean();
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
        public static Short parseShort(String body, String field) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                JsonNode leaf = node.get(field);
                if (leaf != null) {
                    Integer value = leaf.asInt();
                    return value.shortValue();
                }
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
        public static Byte parseByte(String body, String field) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                JsonNode leaf = node.get(field);
                if (leaf != null) {
                    Integer value = leaf.asInt();
                    return value.byteValue();
                }
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
        public static <T> T parseObject(String body, String field, Class<T> clazz) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node;
            try {
                node = mapper.readTree(body);
                node = node.get(field);
                return mapper.treeToValue(node, clazz);
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
        public static Object toNode(String json) {
            if (json == null) {
                return null;
            }
            ObjectMapper mapper = new ObjectMapper();
            try {
    
                return mapper.readTree(json);
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
    
            return null;
        }
    
        public static Map<String, String> toMap(String data) {
            ObjectMapper objectMapper = new ObjectMapper();
            try {
                return objectMapper.readValue(data, new TypeReference<Map<String, String>>() {
                });
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
            return null;
        }
    
    }
  • 相关阅读:
    二维数组 A[m][n] 按行优先和按列优先的 下标地址转换公式
    服务器的公网ip 和内网ip
    剑指offer 23.二叉搜索树的后序遍历序列
    剑指offer 22. 从上往下打印二叉树 & 102. 二叉树的层序遍历
    剑指offer 21.栈的压入、弹出序列 & leetcode 剑指 Offer 31. 栈的压入、弹出序列
    剑指offer 4. 重建二叉树 & leetcode 剑指 Offer 07. 重建二叉树 & leetcode hot 100 105. 从前序与中序遍历序列构造二叉树
    Linux配置Nginx+Tomcat负载均衡
    yum安装apache及问题解决
    Linux高级文本处理命令
    JMeter:生成漂亮的多维度的HTML报告
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/11318586.html
Copyright © 2020-2023  润新知