java vector转json,Java map 转json

昨天因为业务需要,要在后台拿到一个map通过Ajax以json的形式给前台拿到,格式有点复杂,所以要自己转一下

json:{"1001":[{"id":1000,"title":"测试","startTime":1352082066000,"endTime":1352100060000,"isAllDay":false}],"0_s":[]}

Map> wcMap=new HashMap>();

String[] staffIds = staffIDs.split(",");

for(int i = 0;i

List cList = calendarDetailService.getCalendarDetailList(startTime, endTime, staffService.load(Long.valueOf(staffIds[i])));

wcMap.put(staffIds[i], cList);

}

//自己转json

if(wcMap==null||wcMap.size()<1){

return null;

}

StringBuffer buffer=new StringBuffer();

buffer.append("{");

for (Iterator iterator = wcMap.keySet().iterator(); iterator.hasNext();) {

buffer.append("\"");

String key = (String) iterator.next();

buffer.append(key);

buffer.append("\":[");

if(!wcMap.get(key).isEmpty()){

List cl=wcMap.get(key);

for(int i=0;i

CalendarDetail cd = cl.get(i);

buffer.append("{\"id\":"+cd.getId()+",");

buffer.append("\"title\":\""+cd.getTitle()+"\",");

buffer.append("\"startTime\":"+cd.getStartTime().getTime()+",");

buffer.append("\"endTime\":"+cd.getEndTime().getTime()+",");

buffer.append("\"isAllDay\":"+cd.getIsAllDay()+"}");

if(i

buffer.append(",");

}

}

}

buffer.append("]");

if(iterator.hasNext()){

buffer.append(",");

}

}

buffer.append("}");

json=buffer.toString();

return SUCCESS;

这样转完之后,前台ajax:

CUI.ajax({ url: url,

type: 'post',

async: false,

dataType : 'json',

success: function(resultList) {

for(var a in resultList){

for(var i=0;i

console.log(resultList[a]);

}

}

} });

在自测的过程中,json转换的时候有很多问题,前台ajax拿不到,后来查了一下问题:

官方说明是:在1.4之后的jquery版本转换json要遵循严格的格式,其中不能多逗号,不能有单引号等等。

所以要转换 String json="{'id':1000}"或{"id":1000,}这样是会转换报错的。应该为"{\”id\":1000}"这样才是正确的形式。

以后自己开发需要用到map转json的情况可以参照我上面的代码,亲测有效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值