Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从ajax字符串创建javascript数组。_Javascript_Servlets - Fatal编程技术网

从ajax字符串创建javascript数组。

从ajax字符串创建javascript数组。,javascript,servlets,Javascript,Servlets,这是我想要创建的javascript数组。如何从servlet发送此数据并在javascript中创建数组对象 var data = [ {lastName: "Dente", name: "Al"}, {lastName: "Noring", name: "Constance"}, {lastName: "Haas", name: "Jack"}, {lastName: "Tress", name: "Matt"},

这是我想要创建的javascript数组。如何从servlet发送此数据并在javascript中创建数组对象

var  data = [
        {lastName: "Dente", name: "Al"},
        {lastName: "Noring", name: "Constance"},
        {lastName: "Haas", name: "Jack"},
        {lastName: "Tress", name: "Matt"},
        {lastName: "Turner", name: "Paige"}
    ];

如何在servlet中准备此数据字符串,以及如何在客户端中从该字符串创建数组???

如果您有以下Java类:

String dataString=/*prepare data */
response.getWriter().write(dataString);
然后,您可以通过以下方式轻松生成数据:


如果您有以下Java类:

String dataString=/*prepare data */
response.getWriter().write(dataString);
然后,您可以通过以下方式轻松生成数据:


使用
net.sf.json.JSONObject
在服务器端实现这一点

服务器端:

$.getJSON('url of servlet', function (data) {
    console.log(data); // <-- data will be an Array containing two objects
});

希望这有帮助

使用
net.sf.json.JSONObject
在服务器端实现这一点

服务器端:

$.getJSON('url of servlet', function (data) {
    console.log(data); // <-- data will be an Array containing two objects
});

希望这有帮助

谢谢你的详细解释。从服务器获取数据后,如何创建阵列??这就是我真正需要的。这样申报正确吗??var data=dataStringFromServer;如果在我的示例中使用代码,
$.getJSON
调用的回调
函数
中的
数据
变量已经是一个数组。您当前是否正在以JSON格式从服务器返回数据?目前我没有使用jquery函数。我使用的是普通的XMLHttp请求。但是我得到了json字符串。因此,我想从该字符串创建数组对象。只是我所做的和你说的一样。好的,没问题。如果您使用的是纯XHR,那么只需使用
var data=JSON.parse(str)
其中
str
是从servlet返回的数据。为了确保
JSON.parse
在旧浏览器中工作,请确保在页面中包含该文件。感谢您的详细解释。从服务器获取数据后,如何创建阵列??这就是我真正需要的。这样申报正确吗??var data=dataStringFromServer;如果在我的示例中使用代码,
$.getJSON
调用的回调
函数
中的
数据
变量已经是一个数组。您当前是否正在以JSON格式从服务器返回数据?目前我没有使用jquery函数。我使用的是普通的XMLHttp请求。但是我得到了json字符串。因此,我想从该字符串创建数组对象。只是我所做的和你说的一样。好的,没问题。如果您使用的是纯XHR,那么只需使用
var data=JSON.parse(str)
其中
str
是从servlet返回的数据。为了确保
JSON.parse
在旧浏览器中工作,请确保在页面中包含该文件。
public class Data {
    String lastName;
    String name;
//......constructors,getters,setters
}

ArrayList<Data> serverData = new ArrayList<Data>();
serverData.add(new Data("Fred", "Flintstones"));
serverData.add(new Data("Wilma", "Flintstones"));
String jsonStr = JSONObject.fromObject(serverData);
response.getWriter().write(jsonStr);
function ajaxCallback(data) {
    var jObj = JSON.parse(data);
    for(var i in jsonObject)
    {alert(jObj[i].name+" "+jObj[i].lastName);}
}