服务器返回的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;
}
祝您工作顺利!
首先你得会java
你的bean结构是怎样的?
我的用法就是mapper.readValue(json, type);这一句就解决了。