前景提要
HDC调试需求开发(15万预算),能者速来!>>>
服务器返回的json格式,比常见的多了一个Tag节点 { 'tags': [{ 'Tag': { 'id': 'red', 'name': 'red' } }, { 'Tag': { 'id': 'cool', 'name': 'cool' } }, { 'Tag': { 'id': 'shoe', 'name': 'shoe' } } ] }
jackson jsonToBean方法
public static <T> T fromJson(String json,Class<T> clazz, boolean withRoot) throws Exception{ if(StringUtils.isBlank(json)){ return clazz.newInstance(); } ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false); JsonNode jsonNode = mapper.readTree(json); if(withRoot){ JsonRootName jsonRootName = clazz.getAnnotation(JsonRootName.class); if(jsonRootName!=null){ String rootName = jsonRootName.value(); jsonNode = jsonNode.path(rootName); } } T t = mapper.readValue(jsonNode.toString(), clazz); return t; }