前段开发中往往通过一个ajax请求返回一个json数据串,然后解析展示结果信息;
//如果没有JSON.prase(msg.data)转化为JSON对象,回调函数in报错;
JSONObject data=new JSONObject();
JSONArray items=new JSONArray();
data.put("total", totalCount);
data.put("items",items);
for(OperationLogVO vo : list){
JSONObject logItem=new JSONObject();
logItem.put("id", vo.getId());
logItem.put("detail", vo.getDetail());
logItem.put("date", DateUtil.dateToSec(vo.getOptDatetime()));
logItem.put("module", vo.getSysModule());
logItem.put("modulName", vo.getSysModuleName());
logItem.put("peer", "fr1-1");
JSONObject user=new JSONObject();
user.put("id", vo.getPersonid());
user.put("name", vo.getPersonName());
logItem.put("user", user);
items.put(logItem);
}
Result result = new Result();
result.setData(data.toString());
return result;
//取数据
$.ajax({
type:"POST",
url:baseUrl+"/log/history/get.ser",
data:params,
dataType:"json",
success: function(msg){
if(msg.retCode==1){
console.info(JSON.parse(msg.data));
cbFn(JSON.parse(msg.data));
}
},
error:function(msg){
failFn(msg.responseJSON);
}
});
//cbFn回调函数:
<pre name="code" class="javascript">if( "total" in data ){
total =data.total;
}
//如果没有JSON.prase(msg.data)转化为JSON对象,回调函数in报错;
//字符串和json的格式转化问题:
1、通过eval转化
function strToJson(str){
var json = eval('(' + str + ')');
return json;
}
2、通过new function形式
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}
3、通过全局的JSON对象:json串规范
function strToJson(str){
return JSON.parse(str);
}