JacksonUtil
Posted tonggc1668
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; } }
以上是关于JacksonUtil的主要内容,如果未能解决你的问题,请参考以下文章