qq_36151264
qq_36151264
2017-01-11 09:38
采纳率: 100%
浏览 4.2k
已采纳

如何从后台通过json传递一个集合到前台

后台有一个集合,需要传到前台,前台是异步刷新,通过json如何传递一个集合

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • ljheee
    ljheee 2017-01-11 09:51
    已采纳

    list集合 里面都是后台处理好的数据,把list集合放到一个json对象里,后台用PrintWriter(json对象)去向前台输出

    点赞 评论
  • qq_36498920
    qq_36498920 2017-01-11 09:37

    先转成json字符串...然后用PrintWriter去向前台输出

    点赞 评论
  • yushiyoufight
    半杯凉月 2017-01-11 10:27

    前端用的什么框架,你应该想把数据存在table里面展示吧

    点赞 评论
  • z935580231
    Young-Eric 2017-01-11 11:05

    1.后台将数据序列化
    2.前台ajax,$.getJson
    你可以试试

    点赞 评论
  • qq_37315806
    没有黑夜的黑夜 2017-01-11 13:14

    // 将Java对象转为json,并通过输出流写回客户端
    public void java2Json(List object, String[] excludes) {
    // 使用json-lib将PageBean对象转为json数据
    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.setExcludes(excludes);// 指定哪些属性不需要
    //防止死循环
    jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
    String json = JSONArray.fromObject(object, jsonConfig).toString();
    // 通过输出流将json数据写回客户端
    ServletActionContext.getResponse().setContentType("text/json;charset=UTF-8");
    try {
    ServletActionContext.getResponse().getWriter().print(json);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    点赞 评论
  • datouniao1
    我是大头鸟 2017-01-11 13:24

    首先你的前台要发送一个请求,请求的种类很多,但是一般是采用的ajax:
    $.ajax({
    url : "../index",
    type : 'post',
    data : {
    "data" : data
    },
    success : function(text) {
    alert(text);
    }
    });
    然后你要在后台接收一下,当然后台你使用的语言不同方法也是不同,就说java吧
    String id=request.getParameter("data");
    //根据id查找数据并且获取到一个json
    然后:
    response.getWriter().write(json);
    这个样子,前台ajax里面的
    success:function(text){
    text--->就是从后台返回的json
    }
    希望对你有所帮助!

    点赞 评论
  • datouniao1
    我是大头鸟 2017-01-11 13:24

    补充:ajax里面的
    data:{
    data:id
    }
    前面的data是不需要加双引号的

    点赞 评论
  • JE_GE
    JE_GE 2017-01-11 14:14
    点赞 评论
  • wzdlovewen
    baibaibeaytiful 2017-01-12 00:54

    我觉得转换对象是前台该做的事,通信过程应该只专注字符串的传递,大家都用string去传,我觉得是一个很好的规范吧

    点赞 评论
  • ak_random
    ak_random 2017-01-12 08:56

    把list转换成一个json字符串jsonStr,然后response.getWriter().write(jsonStr);
    前台ajax接收,success:function(data) //data就是后台传过来的jsonStr
    {
    var a = JSON.parse(data);
    for(var i = 0; i<a.length;i++)
    {
    alert(a[i]); //list中的每一个值都可以取出来
    }
    }

    点赞 评论

相关推荐