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. 三、fgetc与fputc

    fgetc 功能:从流中读取一个字符 原型:int fgetc(FILE *stream); 参数: stream:要读取的流指针 返回:读取到的字符,如果读完则返回EOF,EOF是end of fi ...

  2. day 12 名称空间和闭包函数

    函数嵌套 按照函数的两个阶段分为: 嵌套调用:在一个函数内部调用另一个函数 嵌套定义:在一个函数内部定义另一个函数 名称空间(namespace):存储名字的内存区域 名称空间的分类: 内置名称空间: ...

  3. JAVA SFTP文件上传、下载及批量下载

    JavaJsch  1.jsch官方API查看地址(附件为需要的jar) http://www.jcraft.com/jsch/ 2.jsch简介 JSch(Java Secure Channel)是 ...

  4. SQLserver触发器实现A表insert到B表

    CREATE TABLE tab1(tab1_id varchar(11));CREATE TABLE tab2(tab2_id varchar(11)); 现在我们有两张表,要实现在A表里面inse ...

  5. yarn依赖管理工具的使用

    Yarn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. 与NPM命令对照 npm install => yarn install npm install --save [pa ...

  6. python中类的创建和实例化

    python中同样使用关键字class创建一个类,类名称第一个字母大写,可以带括号也可以不带括号: python中实例化类不需要使用关键字new(也没有这个关键字),类的实例化类似函数调用方式: # ...

  7. linux vi命令详解

    刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...

  8. 认识:人工智能AI 机器学习 ML 深度学习DL

    人工智能 人工智能(Artificial Intelligence),英文缩写为AI.它是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术及应用系统的一门新的技术科学. 人工智能是对人的意识. ...

  9. 由于找不到 opencv_world320.dll,无法继续执行代

    首先找到自己软件安装(解压)的路径openCV (安装(解压)目录\opencv\build\x64\vc14\bin) 我的安装(解压)目录是:F:\OpenCV\Three320\opencv\b ...

  10. HTTP 各状态码大全

    基本涵盖了所有问题 HTTP 400 – 请求无效 HTTP 401.1 – 未授权:登录失败 HTTP 401.2 – 未授权:服务器配置问题导致登录失败 HTTP 401.3 – ACL 禁止访问 ...