java - 如何将 JSON 数组从服务器发送到客户端,即(java 到 AJAX/Javascript)?

标签 java javascript ajax json

我的 JSON.java 文件中有以下 JSON 数组:

ArrayList array=new ArrayList();
array.add("D");
array.add("A");
array.add("L");

我想将数组发送到位于 AJAX.jsp 中的 AJAX 脚本。 我知道如何通过例如

接收 AJAX 中的文本
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

但我不知道如何将数组从服务器发送到客户端! 感谢您的帮助

最佳答案

确定首先:

ArrayList array=new ArrayList();
array.add("D");
array.add("A");
array.add("L");
JSONArray array = new JSONArray();

这无法编译...你有一个重复的变量数组;-)

第二步:创建一个 servlet/Struts Action/etc,它将包含创建数组的代码。然后使用 JSON 库将其转换为 JSON。最后,将字符串放入您的 servlet/Struts Action/等的响应中。

使用 JQuery 可以减轻 Ajax 调用的工作量。它将帮助您进行 Ajax 调用以及从 http 响应中收到的字符串转换回 Json。

例如:

你的 ajax 调用应该是这样的(使用 JQuery)

$.getJSON("http://yourserver/JSONServlet",
    function(data){
           alert (data) // this will show your actual json array
      });
    });

你的 servlet 应该是这样的:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.json.JSONArray;

public class JSONServlet extends  HttpServlet{
  public void doGet(HttpServletRequest request,
  HttpServletResponse response)
   throws ServletException,IOException{
 JSONArray arrayObj=new JSONArray();
 arrayObj.add("D");
 arrayObj.add("A");
 arrayObj.add("L");
 arrayObj.add("D");
 arrayObj.add("A");
 arrayObj.add("TEST");
  PrintWriter out = response.getWriter();
  out.println(arrayObj);
  for(int i=0;i<arrayObj.size();i++){
  out.println(arrayObj.getString(i));
  }
 }
}

关于java - 如何将 JSON 数组从服务器发送到客户端,即(java 到 AJAX/Javascript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7083951/

相关文章:

java - 使用 Jackson 反序列化为自定义对象的 HashMap

javascript - 如何使用 Knex 查找或创建?

javascript - WordPress 中单页面的自定义 Js

javascript - 我想要一个 anchor 应该像输入类型提交按钮一样

javascript - 不同类型的ajax实现

java - Linux 可用空间不正确

java - Amazon DynamoDB 和类层次结构

java - 为什么此代码适用于此 TopCoder 概率?

javascript - 隐藏数据表中的记录

jQuery AJAX 被中断且没有错误