开发web项目时,经常会使用到的页面脚本语言javascript,使用它能让页面展示上的效果更多彩。

  今天就来说一下,从数据库中获取到数据后在页面上的展示方式:

  1.数据库取出数据放入list<object>,将其使用jsonobject封装成json串:

  <select id="selectAll" resultMap="BaseResultMap"
parameterType="java.util.Map">
select
<include refid="Base_Column_List" />
from user
  </select> 业务层将数据返回到控制层代码简单,此处略过。也可参考我的另一篇随笔:关于spingmvc
此处是list数据的json封装,代码如下:

public void writeChartJson(List<Object> list, HttpServletResponse res)
throws IOException {
int size = list.size();
StringBuffer sb = new StringBuffer();
sb.append("{");
sb.append("\"count\":" + size + ",");
sb.append("\"resultList\":");
JSONArray jsonArray = JSONArray.fromObject(list);
sb.append(jsonArray);
sb.append("}");
StringBuffer temp = new StringBuffer();
StringTokenizer token = new StringTokenizer(sb.toString(), "\n\r\t");
while (token.hasMoreTokens())
temp.append(token.nextToken());
res.setContentType("text/json; charset=utf-8");
System.out.println(temp.toString());
res.getWriter().print(temp.toString());
}

2.前台jsp页面,首先引入jquery.js,请求后台获取list的json数据并解析:

  $(function() {
$.ajax({
type: "POST",
url: "<%=basePath%>admin/xxx/getXXX.do",
data:{},
success: function(msg){
var count = msg.count;
if(count > 0){
for(var i=0;i<count;i++){
var id=msg.resultList[i].id;
var name=msg.resultList[i].name;
alert(id);
} }else{
alert("无数据");
}
},
error: function(){
alert("出错");
}
});
});

后台获取的map集合封装json,代码和上面类似,不在赘述。

前台请求获取代码同上,处理不同如下:

success: function(msg){
var count = msg.count;
if(count > 0){
var arr = msg.resultList[0];
for(var key in arr){
alert("key:"+key+",value:"+arr[key]);
var ar1=arr[key][0];
var ar2=arr[key][1];
alert(ar1);
}
}else{
alert("无数据");
}
}

以上就是个人使用js对json数据的解析处理了,做个小例子,记录一下曾经使用过。

javascript应用:页面解析list和map封装后的json数据的更多相关文章

  1. 利用JQuery 解析MVC控制器传到前台的Json数据

    <script type="text/javascript"> function Getweb() { var name = $("#CityName&quo ...

  2. 使用httpClient调用接口,参数用map封装或者使用JSON参数,并转换返回结果

    这里接口用表存起来,标记请求方式,然后接受参数,消息或者请求参数都可以, 然后先是遍历需要调用的接口,封装参数,再分别调用get与post即可,没有微服务还是得自己写 //消息转发-获取参数中对应参数 ...

  3. 机器学习等知识--- map/reduce, python 读json数据。。。

    map/ reduce 了解: 简单介绍map/reduce 模式: http://www.csdn.net/article/2013-01-07/2813477-confused-about-map ...

  4. Map集合转成json数据

    maven项目需要导入一下依赖: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId> ...

  5. 使用Gson轻松解决复杂结构的Json数据解析

    转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50961803 JSON简介 JSON(JavaScript Object Notati ...

  6. 阿里巴巴fastjson 包的使用解析json数据

    Fastjson是一个Java语言编写的高性能功能完善的JSON库.由阿里巴巴公司团队开发的. 主要特性主要体现在以下几个方面: 1.高性能 fastjson采用独创的算法,将parse的速度提升到极 ...

  7. Java创建和解析Json数据方法(五)——Google Gson包的使用

    (五)Google Gson包的使用 1.简介 Gson包中,使用最多的是Gson类的toJson()和fromJson()方法:         ①toJson():将java对象转化为json数据 ...

  8. [TimLinux] JavaScript 如何在html标签的data-*属性使用JSON数据

    1. HTML data-*属性 H5引入的data-*属性,可以在JavaScript通过.dataset.*的方式来获取属性的值,例如: /* HTML标签: * <input id=&qu ...

  9. Android中解析Json数据

    在开发中常常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\ ...

随机推荐

  1. 关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)

    今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码: player.skillData[i].name 替换为: player.skillData.getSki ...

  2. Android布局优化之include、merge、ViewStub的使用

    本文针对include.merge.ViewStub三个标签如何在布局复用.有效减少布局层级以及如何可以按需加载三个方面进行介绍的. 复用布局可以帮助我们创建一些可以重复使用的复杂布局.这种方式也意味 ...

  3. UVa572 Oil Deposits DFS求连通块

      技巧:遍历8个方向 ; dr <= ; dr++) ; dc <= ; dc++) || dc != ) dfs(r+dr, c+dc, id); 我的解法: #include< ...

  4. C++访问权限

    1.C++类本身没有访问权限的概念,就是class Base. 2.类成员的访问权限有:public.protected.private 3.类的继承方式有:public.protected.priv ...

  5. Codeforces Gym 100342D Problem D. Dinner Problem Dp+高精度

    Problem D. Dinner ProblemTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1003 ...

  6. 使用GLSL实现更多数量的局部光照 【转】

    原文 http://www.cnblogs.com/CGDeveloper/archive/2008/07/02/1233816.html 众所周知,OpenGL固定管线只提供了最多8盏灯光.如何使得 ...

  7. Cucumber 入门一

    (转自:http://www.cnblogs.com/jarodzz/archive/2012/07/02/2573014.html) 第一次看到Cucumber和BDD(Behavior Drive ...

  8. MYSQL SQL 审核工具 (inception安装步骤)

    http://blog.csdn.net/wulantian/article/category/5825391

  9. day01 Java基础

    1.Win7中,在某目录下:shift+右键->在当前目录打开命令行窗口. Windows中打开画图工具的命令是:mspaint. 2.Windows DOS下“rd *”是删除目录的命令:“r ...

  10. Clustering by density peaks and distance

    这次介绍的是Alex和Alessandro于2014年发表在的Science上的一篇关于聚类的文章[13],该文章的基本思想很简单,但是其聚类效果却兼具了谱聚类(Spectral Clustering ...