从Servlet解析JSON响应

时间:2012-02-25 15:04:38

标签: javascript jquery ajax json servlets

好的,我有一个Java Servlet返回一些JSON(以Application / JSON格式)。为此,我使用GSON库。

Servlets GET方法采用一个参数ID。 servlet似乎正在工作,例如,当[Booking] ID参数发送为1时,chrome显示我的AJAX GET请求返回以下内容。

    0: {WidgetID:46, BookingID:1, X:393, Y:50, Content:Test1}
    1: {WidgetID:47, BookingID:1, X:337, Y:251, Content:Test2}
    2: {WidgetID:48, BookingID:1, X:97, Y:198, Content:Test3}

我遇到的问题是解析此响应。这是我的JS代码:

    loadPositions() {
    var BookingID = 
    if (BookingID != null && BookingID != "null")
    {
    var data = {"id" : BookingID};
    $.getJSON("Widget", data, function(data) {
    // Successfully got all this bookings widgets as JSON, TODO: Parse this!
    });
    }
    } 

我应该把什么放在“TODO:Parse this!”中。部分? 我想要预测所有元素,并获取他们的数据。我真的很喜欢这个JQuery的东西。

3 个答案:

答案 0 :(得分:4)

在todo部分中,您应该执行以下操作来遍历所有数组:

$.each(data, function(index,value){
    // here index=0 & value.WidgetID=46, value.BookingId = 1, use it as you would like to.

})

答案 1 :(得分:1)

看看jQuery .each()

http://api.jquery.com/jQuery.each/

以及您想要做的一个很好的例子...

http://api.jquery.com/jQuery.getJSON/

$.getJSON('ajax/test.json', function(data) {
  var items = [];

  $.each(data, function(key, val) {
    items.push('<li id="' + key + '">' + val + '</li>');
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});

答案 2 :(得分:0)