Jackson 2.0用法
json-lib转换复杂数据结构时,老是报异常,转用到Jackson,现在是2.6.4,网上教程大部分是1.x,这里简单描述一下2.0的用法,只有bean转json,其他方法请参考官网(http://wiki.fasterxml.com/JacksonInFiveMinutes)
import com.fasterxml.jackson.databind.ObjectMapper; …… public class SearchAction extends BaseAction { …… /** * Open Api: 特定资源检索开放接口 * @param request * @param response */ public void find_api(HttpServletRequest request, HttpServletResponse response) { ObjectMapper objectMapper = new ObjectMapper(); String jsonString = ""; Map<String, Object> map = new HashMap<String, Object>(); boolean success = false; StringBuffer error = new StringBuffer(); try{ // 必须参数:type key String type = request.getParameter("type"); String key = request.getParameter("key"); if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(key) && key.trim().length() >= 3){ // 根据type到OpenApi/Search分类下获取对应配置 SearchOpenApi apiBean = this.getSearchService().getApiBeanByType(type.trim()); // 获取检索结果 List<SearchBean> dataList = this.getSearchService().findSearchBeansByKeyAndApi(key.trim(), apiBean); if (null != dataList && dataList.size() > 0) { //生成指定反馈json success = true; map.putAll(this.getSearchBeanListJson(dataList)); } else { success = false; error.append("没有符合条件的记录!"); } } else { success = false; error.append("参数错误!"); } }catch(Exception e){ LogUtility.logError("find_api error", e); success = false; error.append(e.toString()); } map.put("success", success); if (!success && error.length() > 0) map.put("error", error.toString()); try { jsonString = objectMapper.writeValueAsString(map); } catch (JsonProcessingException e) { LogUtility.logError("find_api JsonProcessingException", e); } outPut(request,response, jsonString); } }
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!