Javascript JSPServlet Ajax调用(MVC)迭代JSON对象 $(文档).ready(函数(){ $.get(“/myServlet”,函数(responseJson){ var$container=$(“#mySpace”); var x=“”; $.each(responseJson,函数(键,值){ var object=JSON.stringify(值); x+=“+对象+””; }); $container.append(x); }); });

Javascript JSPServlet Ajax调用(MVC)迭代JSON对象 $(文档).ready(函数(){ $.get(“/myServlet”,函数(responseJson){ var$container=$(“#mySpace”); var x=“”; $.each(responseJson,函数(键,值){ var object=JSON.stringify(值); x+=“+对象+””; }); $container.append(x); }); });,javascript,json,ajax,jsp,servlets,Javascript,Json,Ajax,Jsp,Servlets,//--------------------------------------------------------Servlet------------ protectedvoid doGet(HttpServletRequest请求,HttpServletResponse 响应)抛出ServletException、IOException{ ArrayList=新建ArrayList(); 学生s=新学生(); s、 setid(1); s、 赛特名(“约翰”); s、 设定年份(5.5);

//--------------------------------------------------------Servlet------------

protectedvoid doGet(HttpServletRequest请求,HttpServletResponse
响应)抛出ServletException、IOException{
ArrayList=新建ArrayList();
学生s=新学生();
s、 setid(1);
s、 赛特名(“约翰”);
s、 设定年份(5.5);
学生s1=新学生();
s1.setid(2);
s1.设定名称(“alice”);
s1.设定年(5.5);
学生s2=新学生();
s2.setid(3);
s2.设定名称(“nami”);
s2.设定年(3.5);
列表。添加(s);
列表。添加(s1);
列表。添加(s2);
字符串json=new Gson().toJson(列表);
setContentType(“应用程序/json”);
响应。setCharacterEncoding(“UTF-8”);
response.getWriter().write(json);
}

javascript中的我的x产生了这个。甚至当我试图访问对象[“id”]例如x++“+object[“id”]+”
”;我不能。它说未定义。有什么建议吗?或者我应该使用我在本文中创建的学生模型?(但不知道怎么做)

集装箱产量:

。{“id”:1,“姓名”:“约翰”,“年份”:5.5}

。{“id”:2,“name”:“alice”,“year”:5.5}

。{“id”:3,“name”:“nami”,“year”:3.5}

希望这能奏效

   protected void doGet(HttpServletRequest request, HttpServletResponse 
 response) throws ServletException, IOException {

  ArrayList<Students> list = new ArrayList<>();

  Student s = new Student();
  s.setid(1);
  s.setName("john");
  s.setYear(5.5);

  Student s1 = new Student();
  s1.setid(2);
  s1.setName("alice");
  s1.setYear(5.5);

  Student s2 = new Student();
  s2.setid(3);
  s2.setName("nami");
  s2.setYear(3.5);

  list.add(s);
  list.add(s1);
  list.add(s2);

        String json = new Gson().toJson(list);
         response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(json);
$(文档).ready(函数(){
$.get(“/myServlet”,函数(responseJson){
var$container=$(“#mySpace”);
var x=“”;
var jsonData=JSON.parse(responseJson);
$.each(jsonData,函数(键,值){
x+=“+”value.id+”+value.name+“+value.year+”
”; }); 控制台日志(x); $container.append(x); }); });
试试这个片段可能会对你有所帮助<代码>$.each(responseJson,函数(键,值){var object=JSON.parse(值);x+=“+object.id+”
”;})@Veeresh您好,谢谢您的回复。没有显示任何内容。猜测有错误-JSON中的意外标记o。好的。我已经更新了我的答案。你能试试吗?这是因为
stringify
,你需要解析json而不是将其转换为字符串。显然,var jsonData=json.parse(responseJson)上有一个错误;
   protected void doGet(HttpServletRequest request, HttpServletResponse 
 response) throws ServletException, IOException {

  ArrayList<Students> list = new ArrayList<>();

  Student s = new Student();
  s.setid(1);
  s.setName("john");
  s.setYear(5.5);

  Student s1 = new Student();
  s1.setid(2);
  s1.setName("alice");
  s1.setYear(5.5);

  Student s2 = new Student();
  s2.setid(3);
  s2.setName("nami");
  s2.setYear(3.5);

  list.add(s);
  list.add(s1);
  list.add(s2);

        String json = new Gson().toJson(list);
         response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(json);
$(document).ready(function() {          
        $.get("/myServlet", function(responseJson) {
        var $container = $("#mySpace");
        var x = "";
        var jsonData = JSON.parse(responseJson);
                $.each(jsonData, function(key,value) { 
                    x+= " . "+value.id+" "+value.name+" "+value.year+"<br>";
                 });
                 console.log(x);
                 $container.append(x);
          });
    });