对象转json串.

落花浮王杯 提交于 2019-11-26 17:31:04

public static Object returnObject(String jsonStr, Class objClass) {
if (jsonStr == null) {
return null;
}
Object obj = null;
try {
obj = mapper.readValue(jsonStr, objClass);
} catch (JsonParseException e) {
logger.info(logger.getName() + "-->returnObject exception:" + e);
} catch (JsonMappingException e) {
logger.info(logger.getName() + "-->returnObject exception:" + e);
} catch (IOException e) {
logger.info(logger.getName() + "-->returnObject exception:" + e);
} finally {
return obj;
}
}


public static JsonNode returnJsonNode(String jsonString) {
JsonNode jsonNode = null;
try {
jsonNode = mapper.readTree(jsonString);
} catch (IOException e) {
logger.error("error in returnJsonNode due to {}" + e);
}
return jsonNode;
}


public static<T> T returnType(String jsonStr, TypeReference<T> valueTypeRef) {
if (jsonStr == null) {
return null;
}
T t = null;
try {
t = mapper.readValue(jsonStr, valueTypeRef);
} catch (JsonParseException e) {(http://www.amjmh.com/v/BIBRGZ_558768/)
logger.info(logger.getName() + "-->returnType:" + e);
} catch (JsonMappingException e) {
logger.info(logger.getName() + "-->returnType:" + e);
} catch (IOException e) {
logger.info(logger.getName() + "-->returnType:" + e);
} finally {
return t;
}
}

public static <T> T readValue(JsonNode rootJsonNode, List<String> fieldNames, Class<T> valueType) {

JsonNode jsonNode = getJsonNode(rootJsonNode, fieldNames);

if (jsonNode == null || valueType == null) {
return null;
}

try {
return mapper.readerFor(valueType).readValue(jsonNode);
} catch (IOException e) {
logger.info(logger.getName() + "-->readValue:" + e.getMessage());
}

return null;
}


public static JsonNode getJsonNode(JsonNode rootJsonNode, List<String> fieldNames) {
JsonNode jsonNode = rootJsonNode;

for (int i = 0; i < fieldNames.size(); i++) {
if (jsonNode.has(fieldNames.get(i))) {
jsonNode = jsonNode.get(fieldNames.get(i));
} else {
return null;
}
}

return jsonNode;
}


}
--------------------- 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!