JSON对象和json数据串问题

来源:互联网 发布:网络客服工作技巧 编辑:程序博客网 时间:2024/05/19 17:52
前段开发中往往通过一个ajax请求返回一个json数据串,然后解析展示结果信息;
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);} 



0 0
原创粉丝点击