欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

NC集成旺店通使用JSONObject获取数据

发布时间:2024/5/14 javascript 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 NC集成旺店通使用JSONObject获取数据 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

NC使用JSONObject获取数据
小例子测试,非正式环境系统

  • 需要引入com.alibaba.fastjson.JSONObject.jar或net.sf.json.JSONObject.jar
  • net.sf.json.JSONObject转换JSON方式JSONObject json=JSONObject.fromObject(request.getParameter("data"));
  • com.alibaba.fastjson.JSONObject 方式 JSONObject.parseObject(response1);
  • public class Demo {public static void main(String[] args) {/*增加、删除、修改 */IVOPersistence ivop = NCLocator.getInstance().lookup(IVOPersistence.class);//单表方式//获取整个json(data)JSONObject json=JSONObject.fromObject(request.getParameter("data"));Map<String, Object> map=json;String token= map.get("token").toString();String abledate= map.get("abledate").toString();Integer base_doc_type= (Integer) map.get("base_doc_type");......//封装VOUserVO userVO = new UserVO();userVO.setAbledate(new UFDate(abledate));userVO.setBase_doc_type(base_doc_type);userVO.setContentlang(contentlang);....try {ivop.insertVO(userVO);} catch (BusinessException e) {// TODO 自动生成的 catch 块e.printStackTrace();}/*多表方式*///获取整个json(data)SONObject json=JSONObject.fromObject(request.getParameter("data"));//获取表头数据JSONObject head = json.getJSONObject("head");Map<JSONObject, JSONObject> map=head;JSONArray bodyjson =json.getJSONArray("body");OrderVO orderVO = new OrderVO();//主子表OrderHeaderVO headerVO = new OrderHeaderVO();OrderItemVO itemVO = new OrderItemVO();ArrayList<OrderItemVO> list = new ArrayList<OrderItemVO>();/*** 获取表头页面数据*/// 审批人 // String user_code_q = map.get("user_code_q");String user_code_q= map.get("user_code_q").toString();// 已协同生成销售订单String bcooptoso = map.get("bcooptoso").toString();// 直运采购String bdirect = map.get("bdirect").toString();...../*** 获取子表页面数据* 循环遍历json,获取数据* 表体可能会有多条数据成为数组,转换时需要使用JSONArray* */Map<JSONObject,JSONObject> body = null;for (int i = 0; i < bodyjson.size(); i++) {body = bodyjson.getJSONObject(i);}// 到货关闭String barriveclose = body.get(" barriveclose").toString();// 借入转采购String bborrowpur = body.get("bborrowpur").toString();....//利用主子表的VO类把主表/子表VO进行set 插入数据list.add(itemVO);orderVO.setParent(headerVO);orderVO.setChildrenVO(list.toArray(new OrderItemVO[list.size()]));//执行持久化操作PFBusiAction PFBusiAction = new PFBusiAction();try {PFBusiAction.processAction("WRITE", "4R", null, orderVO, null, null);} catch (Exception e) {e.printStackTrace();}//通过api返回获取数据,//例子以旺店通为例WdtClient client = new WdtClient(sid,appkey,appsecret,baseUrl);//查询数据部需要传入时间Map<String, String> params = new HashMap<String, String>();//获取时间Calendar cal=Calendar.getInstance();cal.add(Calendar.DATE,-1);Date d=cal.getTime();SimpleDateFormat sp=new SimpleDateFormat("yyyy-MM-dd");String ZUOTIAN=sp.format(d);//获取前一天日期params.put("consign_date","2020-10-25");// client.execute("api", 传入的参数);String response1 = client.execute("vip_stat_sales_by_spec_shop_warehouse_query.php", params);//转换成JSONJSONObject json = JSONObject.parseObject(response1);根据返回数据格式获取数据JSONObject json2 = json.getJSONObject("content");JSONArray listjosn = json2.getJSONArray("spec_list");for (int i = 0; i < listjosn.size(); i++) {saleVo = new SaleOrderVO ();saleHVo = new SaleOrderHVO();saleBVo = new SaleOrderBVO ();list = new ArrayList<SaleOrderBVO>();//根据下标获取Map<String, Object> map = listjosn.getJSONObject(i);//行标识String rec_id = map.get("rec_id").toString();//发货日期String consign_date = map.get("consign_date").toString();//销售日期String sales_date = map.get("sales_date").toString();//销售类型String order_type = map.get("order_type").toString(); //持久化try {PFBusiAction.processAction("WRITE", "30", w, saleVo, null, null);Logger.info("销售订单汇总数据保存成功"+spec_no);} catch (Exception e) {e.printStackTrace();Logger.info("销售订单汇总数据保存失败异常 "+e);}}}}

    总结

    以上是生活随笔为你收集整理的NC集成旺店通使用JSONObject获取数据的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。