JSON对象:
JSONObject obj = new JSONObject();
obj.put("result", 0);
obj.put("message", message);
return obj.toJSONString();
前台解析:
Success:function(data){
var result = data.result;
var message = data.message;
}
json对象中有json对象的写法:
Objstr为一个JSONObject obj的String转换
private String getsuccess(String objstr,int number){
JSONObject obj = new JSONObject();
obj.put("result", 1);
obj.put("obj", objstr);
obj.put("number", number);
return obj.toJSONString();
}
前台解析:
Picjson为success返回的data
var result = picjson.result;
if (result==1) {
var objdata = picjson.obj;
var data = eval('(' + objdata + ')');
var num = picjson.number;
picurl = null;
showpiclist(data, num);
} else{
alert(picjson.message);
picurl = null;
}
list转成json对象
需要的包:
1.commons-lang.jar
2.commons-beanutils.jar
3.commons-collections.jar
4.commons-logging.jar
5.ezmorph.jar
6.json-lib-2.2.2-jdk15.jar ,
由于在struts2中没有自带的.ezmorph.jar ,一开始List对象列表转换成json数据格式的时候并不对还报错
List<ImageBean> bean=newmainservice.getImageBeanbyNewid(newid);
JSONArray json=JSONArray.fromObject((Object)bean);
System.out.println(json.toString());
response.getWriter().print(json.toString());
}catch(Exception e){e.printStackTrace();}
前台解析:
$.ajax({
method:"post",
url:"/bs.cxhd/pub/newpiclist.action",
data:{"newid":newid},
success:function(data){
var piclist=eval(data);
alert(piclist.length);
alert(piclist[0]["url"]);
},
error:function(data){}
-----------------------------------------------------------
JSONObject obj = new JSONObject();
if(mcSysTemplate != null){//取消分配模板
mcSysTemplateService.deleteBySysTemplateId(mcSysTemplate.getSysTemplateId());
//封装json
obj.put("state", -1);
obj.put("sysName", mcBasSystem.getSystName());
obj.put("templateEncode", mcTemplate.getTemplateEncode());
try {
response.setContentType("application/json;charset=UTF-8");//解决中文乱码问题
response.getWriter().print(obj.toString());
response.getWriter().flush();
response.getWriter().close();
} catch (IOException e) {
log.error(e.getMessage(), e);
}
$.ajax({
async: false,
type: 'post',
url: win$.url("addTemplateAllot"),
data: {'templateId': templateId,'systId':systId},
dataType: 'json',
success: function(data){//利用data点XXX可以获取到后台传递的参数,也就是map的key值
if(data.state > 0){
alert("编码:" +data.templateEncode + "给" + data.sysName +"系统分配成功");
return false;
}else{
alert("取消编码:" +data.templateEncode + "分配给" + data.sysName +"系统成功");
}
}