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 ...
随机推荐
- ESXi控制台TSM:弥补vSphere Client不足
当vSphere Client不能完成某些任务时,主机的ESXi控制台及其技术支持模式(TSM)可能能派上用场. ESXi控制台允许管理员执行不能通过vSphere Client进行配置的管理任务,比 ...
- 商务智能(BI)技术
以下内容仅为兴趣爱好. 商务智能技术是将数据仓库.联机分析处理(OLAP)和数据挖掘等结合起来应用到商业活动中,从不同的数据源收集数据,经过抽取(Extract).转换(Transform)和加载(L ...
- VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程 转载
VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程 转载 #include <stdio.h>#include &l ...
- ionic开发环境搭建
Advanced HTML5 mobile development framework and SDK. Build incredible mobile apps with web technolog ...
- swing——JFrame基本操作
用JFrame(String String1)创建一个窗口 public void setBounds(int a,int b,int width,int height)设置窗口初始化的位置(a,b) ...
- phpcms v9二次开发之数据模型类
系统模型类:model.class.php数据模型类的位置:/phpcms/libs/classes phpcms v9二次开发中,我们要经常需要对模块的数据表进行查询.添加.修改和删除数据等操作,所 ...
- WordPress社会化评论插件多说、有言、灯鹭、评论啦
社会化登录是指网站的用户通过使用QQ.人人网.腾讯微博.新浪微博等社会化媒体账号登录该网站,并让用户能够使用社会化媒体账号进行允许的操作,如评论.分享等.经过简单的代码整合,社会化媒体账号可以在第三方 ...
- Js正则表达式提取图片地址
JavaScript使用正则表达式和Replace两种方法提取IMG标签图片地址,代码如下: /正则表达式 <script language="javascript"> ...
- C++服务器linux开发环境管理
在游戏服务器开发中,跨平台不是必须的.线上游戏既有windows下的C++..Net服务器也有linux下的C++.go.erlang服务器.但是无论如何都要保证开发环境和线上运行环境的一致,否则不同 ...
- ios对SQLite3的使用
ios对SQLite3的使用 一.在Firefox中打开sqlite3(如果没有,选择工具->附加组件,添加即可)新建sqlite3数据库,Contacts, 建立一个members表,字段 i ...