dao

 <select id="selectShopInfo"  resultType="java.util.HashMap">
SELECT * FROM shop_info si
<if test="datadate != null and datadate != '' ">
WHERE
DATE_FORMAT(#{datadate},'%Y-%m-%d')=DATE_FORMAT(ctime,'%Y-%m-%d')
</if>
</select> <select id="selectCustomerInfo" resultType="java.util.HashMap">
SELECT * FROM customer_info ci
<if test="datadate != null and datadate != '' ">
WHERE
DATE_FORMAT(#{datadate},'%Y-%m-%d')=DATE_FORMAT(ctime,'%Y-%m-%d')
</if>
</select>

dao

//获取门店信息
public List<HashMap<String, Object>> selectShopInfo(@Param("datadate")String datadate) throws Exception; //获取客户信息
public List<HashMap<String,Object>> selectCustomerInfo(@Param("datadate")String datadate) throws Exception;

service.impl

@Override
public JSONObject selectInfo(String datadate) throws Exception {
JSONObject object=new JSONObject();
List<HashMap<String, Object>> shopInfo =interfaceDao.selectShopInfo(datadate);
List<HashMap<String, Object>> customerInfo =interfaceDao.selectCustomerInfo(datadate);
JSONArray shopArray=new JSONArray();
for (int i = ; i < shopInfo.size(); i++) {
HashMap<String, Object> map=shopInfo.get(i);
JSONObject shopObj=new JSONObject();
Set set = map.keySet();
Iterator iter = set.iterator();
while (iter.hasNext()) {
String key = (String) iter.next(); if( map.get(key)==null ) {
shopObj.accumulate(key,"");
}else {
shopObj.accumulate(key,map.get(key).toString().equals("")?"":map.get(key).toString());
} }
shopArray.add(shopObj);
} JSONArray customerArray=new JSONArray();
for (int i = ; i < customerInfo.size(); i++) {
HashMap<String, Object> map=customerInfo.get(i);
JSONObject customerObj=new JSONObject();
Set set = map.keySet();
Iterator iter = set.iterator();
while (iter.hasNext()) {
String key = (String) iter.next(); if( map.get(key)==null ) {
customerObj.accumulate(key,"");
}else {
customerObj.accumulate(key, map.get(key).toString().equals("")?"":map.get(key).toString());
} }
customerArray.add(customerObj);
}
object.accumulate("shopInfo", shopArray);
object.accumulate("customerInfo", customerArray); return object;
}

action

    public  void  getBasicInfo () {
response.setHeader("Content-type", "application/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
JSONObject object=new JSONObject();
String datadate=request.getParameter("datadate");
try {
object =interfaceService.selectInfo(datadate);
object.accumulate("status",);
} catch (Exception e) {
object.accumulate("error", e.getMessage());
object.accumulate("status",);
e.printStackTrace();
}
WebPageUtil.writeBack(object.toString());
}

jsp

{"shopInfo":[],"customerInfo":[],"status":200}

jsonArray返回的更多相关文章

  1. 自己写ORM框架 DBUtils_DG Java(C#的写在链接里)

    ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同 ...

  2. MyEclipse下Struts2配置使用和Ajax、JSON的配合

    原创文章,转载请注明:MyEclipse下Struts2配置使用和Ajax.JSON的配合  By Lucio.Yang 新手,初学Struts2的配置,同时尝试与Ajax通过JSON交互.首先介绍M ...

  3. jQuery+Ajax+Jsp做二级级联

    终于弄懂了这个级联,我去!必须得在博客记下来. 1, JS代码: $(document).ready(function(){ $("#select1").change(functi ...

  4. java之接口文档规范

    一.xxxxxx获取指定任务爬取的所有url的接口 接口名称:xxxxxx获取指定任务爬取的所有url的接口 访问链接: http://IP:PORT/crwalTask/findUrlExcepti ...

  5. [JSONObject/JSONArray] - 定制的JSON格式返回

    当前开发的程序中.因为抛弃了jsp的渲染,改为thymeleaf,并在比较厉害的前端进行数据json的渲染无误后,得出此json数据返回. 以往的Map<String,Object>返回j ...

  6. JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回 out.print(ja);

    JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回out.print(ja);

  7. Java中使用JSONTokener判断接口返回字符串是JSONObject还是JSONArray

    今天在接口对接中,遇到一个问题,对方接口返回的JSONString,类型不确定,所以需要先做判断再进行处理.查阅资料后使用JSONTokener可进行处理,特此记录. String ret = ord ...

  8. 返回值List是JsonArray

    MyController中: index.jsp中

  9. ajax提交数据到java后台,并且返回json格式数据前台接收处理值

    1.前台html页面.有一段代码如下: 账  户:  <input type="text" name="userName" id="userN& ...

随机推荐

  1. c++ 生成dll文件并调用

    2 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

  2. MySQL:视图

    视图 一.视图的概述 1. 含义:是从数据库中一个或多个表中导出的虚拟表2. 作用:①简单化 ②安全性 ③逻辑数据独立性3. 注意:一个表可以由多个视图: 二.视图的创建 1. 总的语法形式 CREA ...

  3. sublime text 使用小技巧

    sublime下载各个版本 官网 插件官方网站地址 https://packagecontrol.io/ 一.安装设置字体及字体大小 1.点菜单“Preferences--->Setting - ...

  4. the principle of redbalck tree

  5. C#中关于对out和ref的认识

    1.两者都是按照地址进行传递的.2.ref关键字是的参数按照引用传递的方式进行.他的效果是控制权传递会调用方法是,可以对这个参数进行修改   要使用ref参数,那么方法的定义和调用方法都必须进行显示的 ...

  6. es6模块与 commonJS规范的区别

    https://www.cnblogs.com/weblinda/p/6740833.html

  7. 接口测试基础——第3篇smtplib发送带图片的邮件

    smtplib发送邮件最后一篇,发送带图片的邮件: 大家可以去廖雪峰的网站看一下,下面的代码就是我跟着博客写的,哈哈,大家即使不明白为什么,也要多写两遍,记在心里,如果有不明白的地方可以留言,船长会第 ...

  8. IETF和W3C的区别

    国际互联网协会ISOC和万维网联盟W3C是互联网领域内两大国际协会组织,ISOC旗下IETF机构与W3C是互联网行业内两大标准组织.不可否认「IETF和W3C都是优秀的组织,它们从事着一种使事情按程序 ...

  9. 十六、springcloud(二)Eureka集群

    1.创建子工程spring-cloud-peer(jar) 2.创建application-peer1.properties,application-peer2.properties applicat ...

  10. Spark流处理调优步骤

    总体运行状况: 这里的每个批处理任务间隔是10s一次,所以Total Delay是14s,那么对于下一个批处理任务来说就是延迟了14 - 10 = 4s . Total Delay   -  每个批处 ...