package com.lf.server.helper; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.LinkedHashMap; import java.util.List; /** * Json帮助类 * @author WWW */ public class JsonHelper { /** * json串,转为LinkedHashMap * @param json * @return * @throws IOException */ @SuppressWarnings("unchecked") public static LinkedHashMap json2Map(String json) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); return mapper.readValue(json, LinkedHashMap.class); } /** * 对象转json * @param obj * @return * @throws IOException */ public static String map2Json(Object obj) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); return mapper.writeValueAsString(obj); } /** * json串,转为List> * @param json * @return * @throws IOException */ @SuppressWarnings("unchecked") public static List> json2ListMap(String json) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); return mapper.readValue(json, List.class); } /** * 将json字符串转为对象 * @param json * @param valueType * @param * @return * @throws IOException */ public static T json2Object(String json, Class valueType) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); return mapper.readValue(json, valueType); } /** * fastjson 转对象 * * @param obj * @param valueType * @param * @return */ public static T obj2Vo(Object obj, Class valueType) { return JSONObject.parseObject(JSONObject.toJSONString(obj), valueType); } }