一尘不染

在JSP中使用JsonArray进行Ajax jQuery

jsp

我正在使用JSon-RPC库

Servlet:

我要List<Student>输入的JSonArray内容与相同{["name":"AAA","age":"24"]["name":"BBB","age":"12"]}
JsonArray有一个接受Collection与参数相同的构造函数。如果结果为a,JsonObject那么我将使用method响应客户端out.print(instanceJsonObject.toString())。现在,我不知道如何JsonArray从服务器到客户端进行响应。

ArrayList<Student> list = new ArrayList<Student>();
list.add(new Student("Vu Duc Hoan", "C1010G", "24"));
list.add(new Student("Vu Duc Hoan2", "C1010G2", "242"));

JSONObject js = new JSONObject();
org.json.JSONArray array = new JSONArray(list);

客户:

您能告诉我如何在JsonArray中获取数据吗?我在用着$.getJson

btnJson.click(function(){
    $.getJSON("../DemoAjax/Controller?action=getJson",function(data){
});

阅读 425

收藏
2020-06-10

共1个答案

一尘不染

我认为这是你正在寻找的servlet代码,但我认为你需要先转换Student对象到JSONObject,然后把JSONObjectS IN
JSONArray

JSONObject js = new JSONObject();
org.json.JSONArray jsonArray = new JSONArray(list);

// set the response content-type
response.setContentType("application/json");

PrintWriter out = response.getwriter();

// writing the json-array to the output stream
out.print(jsonArray);
out.flush();

在javascript方法中,datain function(data)中将包含此json-array,您可以使用此答案在html页面中获取数据。

2020-06-10