后台向前台传入json数据后解析问题

BUG之家 2016-05-25 08:35:35
Map <Goods,List<Img>>goodsMap=goodsService.getAllImgBygoodsId(Integer.parseInt(goods_id));	
PrintWriter out =response.getWriter();
out.print(JSON.toJSONString(goodsMap));

success :function(data){
alert(data);
$(".cd-quick-view").empty();
var returnData = eval(data);
$.each(returnData,function(index,value){
var $link1 =$("<div class='cd-slider-wrapper'></div>");
var $link2 =$("<ul class='cd-slider'></ul>");
$link1.append($link2);
$.each(value.value,function(index,value){
var $link3 =$("<li class='selected'></li>");
var $imglist=$("<img />");
$imglist.attr('src',value.key.img_name);
$link3.append($imglist);
$link2.append($link3);
})
var $link4 =$("<ul class='cd-slider-navigation'><li><a class=’cd-next‘ href=’#0‘>Prev</a></li><li><a class=’cd-prev‘ href=’#0‘>Next</a></li></ul>");
$link.append($link4);

var $link5 =$("<div class='cd-item-info'></div>");
var $link6 =$("<h2>"+value.key.goods_name+"</h2>");
var $link7=$("<p>"+value.key.goods_info+"</p>");
$link5.append($link6);
$link5.append($link7);
var $link8 =$("<a></a>");
$link8.attr('href','#0');
$link8.addClass("cd-close");
$link8.html('Close');

$(".cd-quick-view").append($link1);
$(".cd-quick-view").append($link2);
$(".cd-quick-view").append($link3);
$(".cd-quick-view").append($link4);
$(".cd-quick-view").append($link5);
$(".cd-quick-view").append($link6);
$(".cd-quick-view").append($link7);
$(".cd-quick-view").append($link8);
})
},

这是我一次
{{"collect_count":30,"comment_count":200,"goods_name":"2","goods_price":"20","id":2,"sale_count":40,"stype_id":1}:[{"goods_id":2,"id":2,"img_name":"banma.jpg"},{"goods_id":2,"id":8,"img_name":"banma.jpg"}]}
...全文
398 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2016-05-26
  • 打赏
  • 举报
回复
引用 4 楼 qq_33161155 的回复:
[quote=引用 2 楼 无聊码农的回复:]alert(data);输出的是贴出来的内容?这个不是json字符串,eval后报错 java不懂,应该是你拿Goods当键使用的问题,导致Goods作为键名称了。。改为普通的字符串作为键名称,否则就需要用代码处理了
    var data = '{{"collect_count":30,"comment_count":200,"goods_name":"2","goods_price":"20","id":2,"sale_count":40,"stype_id":1}:[{"goods_id":2,"id":2,"img_name":"banma.jpg"},{"goods_id":2,"id":8,"img_name":"banma.jpg"}]}';
    var key = /\{\{([\s\S]+?)\}:\[\{/.exec(data)[1];
    var value=data.replace('{{'+key+'}:','').replace(/\}$/,'');
    key=eval('({'+key+'})');//Goods
    value=eval('('+value+')');//List<Img>
    console.log(key);
    console.log(value);
   //遍历Goods和value的代码
感谢你的帮助,解决了[/quote] 记得把帖子结了。。
BUG之家 2016-05-26
  • 打赏
  • 举报
回复
引用 2 楼 无聊码农的回复:
alert(data);输出的是贴出来的内容?这个不是json字符串,eval后报错 java不懂,应该是你拿Goods当键使用的问题,导致Goods作为键名称了。。改为普通的字符串作为键名称,否则就需要用代码处理了
    var data = '{{"collect_count":30,"comment_count":200,"goods_name":"2","goods_price":"20","id":2,"sale_count":40,"stype_id":1}:[{"goods_id":2,"id":2,"img_name":"banma.jpg"},{"goods_id":2,"id":8,"img_name":"banma.jpg"}]}';
    var key = /\{\{([\s\S]+?)\}:\[\{/.exec(data)[1];
    var value=data.replace('{{'+key+'}:','').replace(/\}$/,'');
    key=eval('({'+key+'})');//Goods
    value=eval('('+value+')');//List<Img>
    console.log(key);
    console.log(value);
   //遍历Goods和value的代码
感谢你的帮助,解决了
hch126163 2016-05-25
  • 打赏
  • 举报
回复
json 格式错误
Go 旅城通票 2016-05-25
  • 打赏
  • 举报
回复
alert(data);输出的是贴出来的内容?这个不是json字符串,eval后报错 java不懂,应该是你拿Goods当键使用的问题,导致Goods作为键名称了。。改为普通的字符串作为键名称,否则就需要用代码处理了
    var data = '{{"collect_count":30,"comment_count":200,"goods_name":"2","goods_price":"20","id":2,"sale_count":40,"stype_id":1}:[{"goods_id":2,"id":2,"img_name":"banma.jpg"},{"goods_id":2,"id":8,"img_name":"banma.jpg"}]}';
    var key = /\{\{([\s\S]+?)\}:\[\{/.exec(data)[1];
    var value=data.replace('{{'+key+'}:','').replace(/\}$/,'');
    key=eval('({'+key+'})');//Goods
    value=eval('('+value+')');//List<Img>
    console.log(key);
    console.log(value);
   //遍历Goods和value的代码
jio可 2016-05-25
  • 打赏
  • 举报
回复
你后台返回格式这样就很好解析了,ajax里面用handleAs:"json"返回的就直接是json了,不需要转json
{
    "baseInfo": {
        "collect_count": 30,
        "comment_count": 200,
        "goods_name": "2",
        "goods_price": "20",
        "id": 2,
        "sale_count": 40,
        "stype_id": 1
    },
    "data": [
        {
            "goods_id": 2,
            "id": 2,
            "img_name": "banma.jpg"
        },
        {
            "goods_id": 2,
            "id": 8,
            "img_name": "banma.jpg"
        }
    ]
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧