前台通过jQuery怎样获得后台传过来的json呢?我是将list封装到json的?我现在没办法读取数据!

解决方案 »

  1.   

    封装了,你要out.print到页面上来啊。
      

  2.   

    如果是struts2不用使用json转换,直接把list ,set ,get ,在jsp页面就可以得到了
    然后在页面要使用$.getJSON(url,function(date){
     $.each(date,function(index,value){
        alert(value);//这样就可以得到了 
    }
    })
      

  3.   

    首页你ajax返回数据拿到一个json数组。再去循环这个json数组。
      

  4.   


         $.ajax({   
                 url :'getSisName.jsp',  //后台处理程序   
                 type:'post',    //数据发送方式   
                 dataType:'json',   //接受数据格式   
                 success:callbackFun  //回传函数(这里是函数名)   
         })
    function callbackFun(data){
          alert(data)//data就是后台传到前台的数据
    $.each(data.sisName,function(i, item){    });  
    }
      

  5.   

    4楼正解
    jquery同步/异步调用,回调函数拿结果
      

  6.   

    各位你们看看我的代码哪里错了
    这是我的后台代码:
    int b_id =Integer.parseInt(request.getParameter("b_id"));
    try {
    List<Shanghu> list=new Fun().fun6(b_id);
    for(int i=0;i<list.size();i++)
    System.out.println(list.get(i).getSh_id()+list.get(i).getSh_name());

    JSONArray shanghu=new JSONArray(list);
    PrintWriter out=response.getWriter();
    out.print(shanghu.toString());
    out.flush();
    out.close();
    } catch (BusinessException e) {
    e.printStackTrace();
    }这是我的前台代码:js部分
    function fun2(b_id){
    $.ajaxSetup({cache:false});
    $.getJSON(
    "selectsh.do",
    {"b_id":b_id},
    function(data){
    $("#shanghu").empty();
    $("#shanghu").append("<option value=\"-1\">请选择</option>");

    for(var i=0;i<data.length;i++){
    alert(data[i].sh_id);
    $("#shanghu").append("<option value=\""+data[i].sh_id+"\">"+data[i].sh_name+"</option>");
    }
    },
    "json"
    );
    }
    我可以得到从后台得到传过来的对象,但是显示的时候只是显示undefined,我郁闷了!
      

  7.   

    你可以说使用android提供的gson--》jar包,调用里面的Gson类
    服务器端:
    Gson gson=new Gson();
    String json=gson.toJson(list);
    out.print(json);//将list转换的string传输出去
    客户端:
    String result=从客户端接收过来的字符串;
    Type type=new TypeToken<List<E>>(){}.getType();
    Gson gson=new Gson();
    List<E> list=gson.fromJson(result,type);
    这样你就可以操作了。
      

  8.   

    不是啊,我没用android的Gson啊,我做的是javaweb项目,data[i].sh_id和data[i].sh_name传过来总显示的是undefined
      

  9.   


    for循环改成这样
    for (var key in data) {
       data[key].sh_id和data[key ].sh_name
    }