JSON格式的各种转换
/** *JSON 格式的解析 */ // json 去掉转义字符 message = message.replaceAll("\\\\", ""); //转成String类型 String jsonStr = message.substring(message.indexOf("[") + 1, message.indexOf("]")); //转成String类型的JSON格式 jsonObject = JSONObject.fromObject(jsonStr); //通过key进行取值 String responseCode = jsonObject.getString("msg");
mapRes.put("empNameAdd", empNameAdd); mapRes.put("deptNameAdd", deptNameAdd); mapRes.put("deptNo", deptNo); mapRes.put("loginName", loginName); mapRes.put("empId", empId); //定义转成json数组,将map集合封装的数据放到json数组里,定义一个jsonObject, //通过put方法,转给前台 JSONArray ar = new JSONArray(); ar.add(mapRes); JSONObject oj = new JSONObject(); oj.put("memberInfo", ar); _result.setData(oj); /** **{ "status": 0, "msg": "ok", "data": [ "memberInfo":{ { "deptNo": "103", "empNameAdd": "李俊", "empId": "50048", "loginName": "lj", "deptNameAdd": "上海健一网大药房连锁经营有限公司小世界药店" } } ] } */
@RequestMapping("/insertFromStore") public void insertFromStore( HttpServletRequest request, HttpServletResponse response){ StringBuffer json = new StringBuffer(); String line = null; String orderMsg = ""; try { BufferedReader reader = request.getReader(); while((line = reader.readLine()) != null) { json.append(line); } orderMsg = json.toString(); } catch(Exception e) { logger.error(e); } if (StringUtil.isEmpty(orderMsg)){ this.setResultInfo("-1", "params error!").write(request, response); return; } com.alibaba.fastjson.JSONObject jsonObject = null; try { //把String类型的json串转成Json Object对象 jsonObject = com.alibaba.fastjson.JSONObject.parseObject(orderMsg); } catch (Exception e) { this.setResultInfo("-1", "params error!").write(request, response); return; } //门店渠道id int storeMutilId = 46; //各种取值 String mTel = jsonObject.getString("mTel"); String tranid = jsonObject.getString("tranid"); //取值,拿到json数组 com.alibaba.fastjson.JSONArray artiitem = jsonObject.getJSONArray("artiitem"); String tranDate = jsonObject.getString("tranDate"); String discount = jsonObject.getString("discount"); String deptName = jsonObject.getString("deptName"); String sumSaleAmt = jsonObject.getString("sumSaleAmt"); if(StringUtil.isEmpty(mTel)||StringUtil.isEmpty(tranid)||StringUtil.isEmpty(tranDate)||StringUtil.isEmpty (discount)||StringUtil.isEmpty(deptName)||StringUtil.isEmpty(sumSaleAmt)){ this.setResultInfo("-1", "params error!").write(request, response); return; } List<OrderItem> itemList = new ArrayList<OrderItem>(); //订单详情信息 //遍历json数组,取值,赋值 for (Object o : artiitem) { OrderItem item = new OrderItem(); //转成String类型Json String jsonStr = com.alibaba.fastjson.JSONObject.toJSONString(o); //转成json格式 com.alibaba.fastjson.JSONObject itemJson = com.alibaba.fastjson.JSONObject.parseObject(jsonStr); String artiCode = itemJson.getString("artiCode"); String artiQty = itemJson.getString("artiQty"); String saleAmt = itemJson.getString("saleAmt"); String salePrice = itemJson.getString("salePrice"); if(StringUtil.isEmpty(artiCode)||StringUtil.isEmpty(artiQty)||StringUtil.isEmpty(saleAmt)||StringUtil .isEmpty(salePrice)){ this.setResultInfo("-1", "params error!").write(request, response); return; } if(new BigDecimal(saleAmt).compareTo(new BigDecimal(salePrice).multiply(new BigDecimal(artiQty))) != 0){ this.setResultInfo("3", "单品金额校验失败").write(request, response); return; } item.setGoodsNo(artiCode); item.setGoodsPrice(new BigDecimal(salePrice)); item.setGoodsAmount(new BigDecimal(artiQty)); item.setGoodsSumFee(new BigDecimal(saleAmt)); itemList.add(item); } //订单信息 OrderInfo orderInfo = new OrderInfo(); orderInfo.setMemberMobile(mTel); orderInfo.setMultiChannelId(storeMutilId); orderInfo.setMultiChannelOrderId(Long.valueOf(tranid)); orderInfo.setOtherDiscounts(new BigDecimal(discount)); orderInfo.setFinishTime(tranDate); orderInfo.setOrderFee(new BigDecimal(sumSaleAmt)); ServiceMessage<String> insertResult= null; String resultMsg = ResultMsg.Common.OK; try { insertResult= orderInfoService.insertOrderInfoFromStore(orderInfo,itemList,deptName); resultMsg = insertResult.getMessage(); } catch (Exception e) { LOG.error(e.getMessage(), e); resultMsg = ResultMsg.OrderActionMsg.INSERT_STORE_FAILURE; } finally { this.setResult(insertResult, resultMsg).write(request, response); } }
JSON格式的各种转换的更多相关文章
- C#JSON格式数据的转换
json格式字符串转化为json对象:JObject calculate = (JObject)JsonConvert.DeserializeObject(Rep.Request["data ...
- json中把非json格式的字符串转换成json对象再转换成json字符串
JSON.toJson(str).toString()假如key和value都是整数的时候,先转换成jsonObject对象,再转换成json字符串
- iOS开发之JSON转PLIST(把存储json格式的文件转换成plist文件)
p.p1 { margin: 0.0px 0.0px 0.0px 60.0px; font: 16.0px "PingFang SC"; color: #586e75 } p.p2 ...
- 把json格式的字符串转换成javascript对象或数组
第一种 JSON.parse(jsonString) 第二种 eval("("+jsonString+")") 第三种 var obj=(function ...
- json格式的时间转换
//yyyy-MM-dd HH:mm:SS function JsonDateToDate(jsondate) { var date = new Date(parseInt(jsondate.repl ...
- JSON格式日期的转换
扒来的链接: https://blog.csdn.net/zhang33565417/article/details/99676975 感谢这位哥们儿的分享!
- 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)
public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...
- json格式转换(json,csjon)(天气预报)
json格式数据默认为string,可以使用eval()函数或者json模块将其转换为dict.标准Json字符串必须使用双引号(")而不能使用单引号('),否则从字符串转换成dict类型会 ...
- json和php数组 格式的互相转换
$json_arr = array('WebName'=>'PHP网站开发教程网','WebSite'=>'http://www.jb51.net'); $php_json = json ...
随机推荐
- Linux误删C基本运行库libc.so.6急救方法
首先普及一下关于libc.so.6的基本常识: libc.so.6是glibc的软链接 ll /lib64/libc.so.6lrwxrwxrwx 1 root root 11 Aug 27 201 ...
- deep learning in nlp 资料文献
Deep Learning for Natural Language Processing (without Magic) http://nlp.stanford.edu/courses/NAACL2 ...
- 关于Aspose对于Word操作的一些扩展及思考
Aspose.word Aspose.Words是一款先进的类库,通过它可以直接在各个应用程序中执行各种文档处理任务.Aspose.Words支持DOC,OOXML,RTF,HTML,OpenDocu ...
- TreeView 数据绑定及选中命令处理
昨天接近下班,一个群里面的网友,问treeView绑定后 选中命令怎么来处理,怎么没有效果,而且用MVVM的方式来写:快下班了本来想远程帮他看下,结果就说写个Demo给他看:再加上选中传参: 下面分 ...
- GUI树组件,表格
树组件首先要new一个JTree,再加结点,然后添加到 JScrollPane JTree tree1=new JTree(); //.......添加节点 add(new ScrollPane(tr ...
- Interview Algorithm
约瑟夫环: #include <stdio.h> #include <stdlib.h> #include <string.h> int find(int *arr ...
- mysql 整形的长度问题
tinyint 有符号的范围是-128至127: 无符号的范围是0到255,2的8 次方-1: 存储大小为 1 字节. smallint 有符号的范围是-32768至32767: 无符号的范围是0 ...
- nginx重定向规则详细介绍
为何要使用301重定向 在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名.网页的扩展名改变.网站域名改变等.如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个4 ...
- PHPCMSV9 采集网址后,再采集内容,报错:“采集采集内容 没有找到网址列表,请先进行网址采集”
解决方法:直接清除v9_collection_history 表里的内容.
- 02 - 替换SetInput方法 VTK 6.0 迁移 (2013-06-30 16:22)
VTK6 引入了许多不兼容的变化,这其中就包括用SetInputData()和SetInputConnection()替换SetInput()方法.在先前的版本中,VTK4 引入了SetInput() ...