Java 如何在ajax中使用json数组?(爪哇)

Java 如何在ajax中使用json数组?(爪哇),java,jquery,json,ajax,servlets,Java,Jquery,Json,Ajax,Servlets,我有一个servlet,它返回json数据,如: {"type1":"value1","type2":"value2"}{"type1":"value3","type2":"value4"} 然后我想使用ajax获取这些数据,在html中绘制一个表: function showTable() { $.ajax('../json', { method: 'GET', success: function (users) { var

我有一个servlet,它返回json数据,如:

{"type1":"value1","type2":"value2"}{"type1":"value3","type2":"value4"}
然后我想使用ajax获取这些数据,在html中绘制一个表:

function showTable() {

    $.ajax('../json', {
        method: 'GET',
        success: function (users) {
            var result = "<tr>" +
                "<th>type1</th>" +
                "<th>type2</th>" +
                "</tr>";
                for (var i = 0; i < users.length; i++) {
                result += "<tr>" +
                    "<td>"+users[i].type1+"</td>" +
                    "<td>"+users[i].type2+"</td>" +
                    "</tr>";
            }
            var table = document.getElementById("showtable");
            table.innerHTML(result);
        }
    });
}
这就是
getUsersInJson()
的样子。它从一些
ArrayList
数组中获取数据并返回JSONArray:

public JSONArray getUsersInJSON() {
        JSONArray array = new JSONArray();
        for (User user : DBController.getController().get()) {
            JSONObject jUser = new JSONObject();
            jUser.put("name", user.getName());
            jUser.put("login", user.getLogin());
            jUser.put("email", user.getEmail());
            jUser.put("role", user.getRole().getName());
            jUser.put("country", user.getCountry());
            jUser.put("city", user.getCity());
            array.put(jUser);
        }
        return array;
    }

这是错误的?

您做错了,您在引号中包含了变量,因此值不会被替换。这样做:

$.ajax('../json', {
        method: 'GET',
        success: function (users) {
            var result = "<tr>" +
                "<th>type1</th>" +
                "<th>type2</th>" +
                "</tr>";
                for (var i = 0; i < users.length; i++) {
                result += "<tr>" +
                    "<td>"+users[i].type1+"</td>" +
                    "<td>"+users[i].type2+"</td>" +
                    "</tr>";
            }
            var table = document.getElementById("showtable");
            table.innerHTML(result);
        }
    });
$.ajax(“../json”{
方法:“GET”,
成功:功能(用户){
var result=“”+
“类型1”+
“类型2”+
"";
对于(var i=0;i
您做错了,您在引号中包含了变量,因此值不会被替换。这样做:

$.ajax('../json', {
        method: 'GET',
        success: function (users) {
            var result = "<tr>" +
                "<th>type1</th>" +
                "<th>type2</th>" +
                "</tr>";
                for (var i = 0; i < users.length; i++) {
                result += "<tr>" +
                    "<td>"+users[i].type1+"</td>" +
                    "<td>"+users[i].type2+"</td>" +
                    "</tr>";
            }
            var table = document.getElementById("showtable");
            table.innerHTML(result);
        }
    });
$.ajax(“../json”{
方法:“GET”,
成功:功能(用户){
var result=“”+
“类型1”+
“类型2”+
"";
对于(var i=0;i
试试看

$.ajax(“../json”{
方法:“GET”,
成功:功能(用户){
var users=$.parseJSON(用户);
var result=“”+
“类型1”+
“类型2”+
"";
对于(var i=0;i
试试看

$.ajax(“../json”{
方法:“GET”,
成功:功能(用户){
var users=$.parseJSON(用户);
var result=“”+
“类型1”+
“类型2”+
"";
对于(var i=0;i
这不是JSON数组。它根本不是有效的JSON。
“+”+用户[i]。类型1+“+”+用户[i]。类型2+“+”你忘了引用。那不是JSON数组。它根本不是有效的JSON。
“+”+用户[i]。类型1+“+”+用户[i]。类型2+“+”你忘记引用了。修复了这个问题。仍然没有任何效果。如果能够在脚本函数中看到输出,请尝试console.log(用户)。我尝试了console.log(用户),console.log(用户,长度),没有任何结果,输出为空。但是console.log('1')键入了“1”。这可能与java代码有关。在返回数组之前,请尝试用Java打印数组,如果它打印内容,请打印内容,如
{“type1”:“value1”,“type2”:“value2”}{“type1”:“value3”,“type2”:“value4”}
修复了此问题。仍然没有任何效果。如果能够在脚本函数中看到输出,请尝试console.log(用户)。我尝试了console.log(用户),console.log(用户,长度),没有任何结果,输出为空。但是console.log('1')键入了“1”。这可能与java代码有关。在返回数组之前,请尝试用Java打印数组,如果它打印内容,请打印内容,如
{“type1”:“value1”,“type2”:“value2”}{“type1”:“value3”,“type2”:“value4”}
 $.ajax('../json', {
    method: 'GET',
    success: function (users) {
        var users = $.parseJSON(users);
        var result = "<tr>" +
            "<th>type1</th>" +
            "<th>type2</th>" +
            "</tr>";
            for (var i = 0; i < users.length; i++) {
                result += "<tr>" +
                  "<td>"+users[i].type1+"</td>" +
                  "<td>"+users[i].type2+"</td>" +
                  "</tr>";
             }
        var table = document.getElementById("showtable");
        table.innerHTML(result);
    }
});