jsonArray返回
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返回的更多相关文章
- 自己写ORM框架 DBUtils_DG Java(C#的写在链接里)
ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同 ...
- MyEclipse下Struts2配置使用和Ajax、JSON的配合
原创文章,转载请注明:MyEclipse下Struts2配置使用和Ajax.JSON的配合 By Lucio.Yang 新手,初学Struts2的配置,同时尝试与Ajax通过JSON交互.首先介绍M ...
- jQuery+Ajax+Jsp做二级级联
终于弄懂了这个级联,我去!必须得在博客记下来. 1, JS代码: $(document).ready(function(){ $("#select1").change(functi ...
- java之接口文档规范
一.xxxxxx获取指定任务爬取的所有url的接口 接口名称:xxxxxx获取指定任务爬取的所有url的接口 访问链接: http://IP:PORT/crwalTask/findUrlExcepti ...
- [JSONObject/JSONArray] - 定制的JSON格式返回
当前开发的程序中.因为抛弃了jsp的渲染,改为thymeleaf,并在比较厉害的前端进行数据json的渲染无误后,得出此json数据返回. 以往的Map<String,Object>返回j ...
- JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回 out.print(ja);
JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回out.print(ja);
- Java中使用JSONTokener判断接口返回字符串是JSONObject还是JSONArray
今天在接口对接中,遇到一个问题,对方接口返回的JSONString,类型不确定,所以需要先做判断再进行处理.查阅资料后使用JSONTokener可进行处理,特此记录. String ret = ord ...
- 返回值List是JsonArray
MyController中: index.jsp中
- ajax提交数据到java后台,并且返回json格式数据前台接收处理值
1.前台html页面.有一段代码如下: 账 户: <input type="text" name="userName" id="userN& ...
随机推荐
- 结构体变量的 extern 使用方法,转--
要求如下,在.h文件中这样定义: typedef struct typFNT_GB16 // 汉字字模数据结构 { signed ]; // 汉字内码索引 ]; ...
- Python基础05_str_补充
继续学习中, 补充一些str 的索引.切片.长度.循环输出等. #!/usr/bin/env python # coding:utf-8 # 通过下标索引获取字符串中的某个字符 # 1. 索引 tes ...
- Python多进程并发操作中进程池Pool的应用
Pool类 在使用Python进行系统管理时,特别是同时操作多个文件目录或者远程控制多台主机,并行操作可以节约大量的时间.如果操作的对象数目不大时,还可以直接使用Process类动态的生成多个进程,十 ...
- django中利用FastDFS来上传图片的流程
好处:海量问题,存储容量扩展方便,文件内容重复并且对静态文件的访问也有了提升等.
- CSS权值
选择器权值 标签选择器:权值为1 类选择器和伪类:权值为10 ID选择器:权值为100 通配符选择器:权值为0 行内样式:权值为1000 !important规则: 可调整样式规则的优先级 添加在样式 ...
- (31)django中的分页器
book_list = models.Book.objects.all() #查出指定表中的所有数据paginator = Paginator(book_list,2) #实例化对象,传入 ...
- ubuntu16.04下配置apache2与php
系统版本:ubuntu16.04 命令均在终端中输入,用浏览器测试 //安装apache2命令 sudo apt install apache2 //测试是否安装成功 浏览器地址栏输入“localho ...
- 监控端口是否开放,端口未开放关闭虚拟ip,端口开放启动虚拟IP
#!/bin/bash#该脚本监控本机的一个端口,当端口异常时,停止lvs的本地ip直到恢复.该脚本依托于lvs.sh启动脚本#目前只支持监控1个vip #定义常用变量#配置检查的ip以及端口chec ...
- python 常用的模块
面试的过程中经常被问到使用过那些python模块,然后我大脑就出现了一片空白各种模块一顿说,其实一点顺序也没有然后给面试官造成的印象就是自己是否真实的用到这些模块,所以总结下自己实际工作中常用的模块: ...
- MVC 中Scripts.Render、Styles.Render
在ASP.NET MVC项目中,可以在视图中利用Scripts.Render.Styles.Render统一加载js.css文件,需要利用BundleConfig类来Add 各种Bundle,例如:b ...