将JSON数据转换成对象

来源:互联网 发布:淘宝过期化妆品 编辑:程序博客网 时间:2024/06/08 19:02

controller类:

<span style="font-size:12px;">@RequestMapping(value = "/sgsHelpSend/createOmsOrder", method = RequestMethod.POST)@ResponseBodypublic Object createOmsOrder(@RequestParam("memNo") final String memNo,final HttpServletRequest request ) {log.info("createOmsOrder paramters is memNo="+memNo);if (StringUtils.isEmpty(memNo)) {return new ResultDto().setStatus(FAILURE).setMessage(i18Util.getMassage("user.memNo.null"));}UcmpHelpSendOrderDto order = null;try {order = jsonUtil.resolveJson(request, REQUEST_KEY, UcmpHelpSendOrderDto.class);} catch (Exception e) {log.error("从request获取需要解析的JSON数据,转成相应对象error:"+e.getMessage());return jsonResultUtil.resultError(i18Util.getMassage("order.error.params"));}try {//调用帮我送同城配下单业务逻辑处理return helpSendOrderService.createHelpSendOrder(order, request);} catch (Exception e) {log.error("调用UCMP帮我送同城配新建订单error:");return jsonResultUtil.resultError();}}</span>
工具类:

<span style="font-size:12px;">/** * 从request获取需要解析的JSON数据,转成相应对象 * * @param request * @param requestParamsKey * @param objClass * @return * @throws Exception */public <T> T resolveJson(HttpServletRequest request, String requestParamsKey, Class<T> objClass) throws Exception {String jsonStr = request.getParameter(requestParamsKey);return resolveJson(jsonStr, objClass);}</span>

<span style="font-size:12px;">/** * 将JSON数据转换成对象 * * @param jsonStr * @param objClass * @return * @throws Exception */@SuppressWarnings("unchecked")public <T> T resolveJson(String jsonStr, Class<T> objClass) throws Exception {try {if (StringUtils.isEmpty(MyStringUtil.nullToStr(jsonStr))) {return null;}JSONObject json = JSONObject.fromObject(jsonStr);return (T)JSONObject.toBean(json, objClass);} catch (Exception e) {log.error(e.getMessage());throw new Exception(e);}}</span>


0 0
原创粉丝点击