1,前台如何转换Json?
https://jingyan.baidu.com/article/456c463b342b6c0a583144f9.html
在使用Json各种数据转换时需要用到的组件:Json常用组件 - Json.cn https://www.json.cn/component.html
github可以直接clone:https://github.com/douglascrockford/JSON-js
2,后台-List转换成json格式
https://www.cnblogs.com/K-artorias/p/6843147.html
所需jar包
<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
3,使用AJax接收后台Json数据并显示到前台的实例
实例一:SpringMVC框架,可以自动转换
https://blog.csdn.net/bin929/article/details/80278987
@RequestMapping(value="/findReply")
@ResponseBody
public Map<String, Object> findReply(int mid){
System.out.println("mid:"+mid);
List<Reply> replies=replyService.findReply(mid);
Map<String, Object> map = new HashMap<String, Object>();
map.put("replies", replies);
return map;
}
var mid;
function LookReply(mid){
$.ajax({
dataType:"json",
type:"POST",
url:"../reply/findReply.action",
data:{mid:mid},
success:function(data){
var arr=data.replies;
for(var i=0;i<data.replies.length;i++){
var name=arr[i].replier;
var content=arr[i].reply;
var time=arr[i].time;
$('#reply_'+mid).prepend("<dl style='background-color:pink;'><dt>"+content+"</dt><dd>回复者:"+name+"</dd><dd>回复时间:"+time+"</dd></dl>");
}
},error:function(data){
alert(系统错误);
}
});
}
也可以使用each遍历
<c:forEach items="${messages }" var="message">
<div>
<div>
<p><font color="red">${message.content }</font></p>
</div>
<div><button onclick="LookReply(${message.mid })">查看回复</button></div>
<div id="reply_${message.mid }"></div>
</div>
<br>
</c:forEach>
实例二:手动转的,其实没太大区别,前台我是参考这个写的。
jquery ajax获得list并显示 - CSDN博客 https://blog.csdn.net/lhw244/article/details/38438135
/**
* 异步方法:得到list
*/
public void getDetail2() {
//前台传来的id
String CWFS_ID = request.getParameter("CWFS_ID");
List<Map<Object, Object>> fylist = null;
List<Object> params = new ArrayList<Object>();
Map<String,Object> res = new HashMap<String,Object>();
StringBuffer fylistSql = new StringBuffer();
try {
this.beginSession();
//select cwfyxm,cwfy from t_ca_cwfsmx where cwfs_id=
fylistSql
.append(" select * from t_ca_cwfsmx where cwfs_id= "
+ CWFS_ID);
fylist = this.queryAll(fylistSql.toString());
res.put("fylist", fylist);
Struts2Utils.renderJson(res);
} catch (Exception e) {
e.printStackTrace();
} finally {
this.close();
}
}
前台
function selectRow1(ID)
{
$.ajax({
url:"</span><span style="color:#ff0000;">${ctx}/license/licensePlateProjectAction!getDetail2.action</span><span style="color:#000099;">",
type:"post",
dataType:"json",
data:{CWFS_ID:ID}, //cwfyxm
success:function(json){
if(json){
var res = [];
var num=1;
jQuery.each(json.fylist, function(i,item){
res.push('<tr>');
res.push('<td align="center" >' + num + '</td>');
res.push('<td align="center" >' + item.CWFYXM + '</td>');
res.push('<td align="center" >' + item.CWFY + '</td>');
res.push('</tr>');
num++;
});
$("#fylistDatas").empty().html(res.join(""));
}
}
});