0
var schedule = [];

var data = { 
   'user_id' : '12', 
   'day_of_week' : 'Monday',
    'when' : 'start',
    'modified' : 'true'
 }

schedule.push(data);
var data = { 
   'user_id' : '13', 
   'day_of_week' : 'Tuesday',
    'when' : 'end',
    'modified' : 'false'
 }
schedule.push(data);
// schedule would have two objects in it

我正在使用 jquery ajax 发布请求将数组发布到 servlet,如下所示。

data :  {'myData':schedule},
url :"./myController",

现在我怎样才能获得对象数组并识字以获取所有值?每个数组对象都有字符串、长整数和布尔类型值。如何通过迭代获得所有值?

4

1 回答 1

0

一种策略是使用 JSON 在服务器和客户端之间来回传递这种数据。

在客户端,使用 stringify 函数将 schedule 数组转换为 JSON 字符串。通过 AJAX 发送:

例如

var jsonData = JSON.stringify(schedule);

您的 AJAX 对象将执行以下操作:

$.ajax({
  url: "./myController",
  data: {'schedules':jsonData}
});

现在在服务器端使用像谷歌的 GSON 库这样的 JSON 解析器。

在您的 servlet 中执行以下操作:

String jsonData = request.getParamater("schedules");

使用 GSON 解析它

Gson gson = new Gson();
List<Schedule> schedules = gson.parseJson(jsonData, List<Schedule>.toClass());

您可以创建一个计划类,它将 JavaScript 对象映射到 Java 对象

我可以提供一个更好的代码,如果有兴趣可以测试...我目前无法访问 IDE...但是我希望您有一个大概的了解

于 2013-08-12T18:34:15.360 回答