zoukankan      html  css  js  c++  java
  • 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;
        }
    
    }
  • 相关阅读:
    使用Delphi自带的TDockTabSet组件实现停靠功能(Jeremy North)
    揭秘换肤技术(转载)
    cdecl、stdcall、fastcall函数调用约定区别(转)
    Delphi XE的RTTI增强,动态Hook某些内部事件
    sizeof和strlen解析
    由swap引出的局部变量,形参和指针的小问题
    单链表的逆置算法
    关于C++中的虚拟继承的一些总结
    关于"引用"的几点说明
    求最长公共子序列(子序列在原串中可以不连续)
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/11318586.html
Copyright © 2011-2022 走看看