我想传两个List<String>
发送给 Gson 并使用 $.post
捕获它们在我的 jQuery.目前我的 servlet 中有第一个列表:
String json_list = gson.toJson(suggested_list);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json_list);
我通过 $.post 得到它,如下所示:
$(document).ready(function() {
$(".word_sugest").click(function() {
var physical_exam = jQuery("textarea#examination").val();
$.post("MyServlet", { examination : physical_exam},function(responseJson) {
var $textarea = $('<textarea rows="10" cols="20" id="words_suggested">').appendTo($('#words'));
var areavalue = $('#words_suggested').val();
$.each(responseJson, function(key,value) {
$('#words_suggested').val($('#words_suggested').val()+value+"\n");
});
});
});
});
如何获得具有相同 $.post
的另一个列表Ajax 事件?有人可以帮忙吗?
最佳答案
我认为最简单的解决方案是让 AJAX 调用返回 JSON 对象而不是列表。这样您就可以命名您的列表。以下是输出的示例:
{
list1: ["A", "B", "C", "D"],
list2: ["R", "S", "T", "U", "V", "W"]
}
这是通过创建如下 Java 对象来完成的:
public class CustomObjResponse {
private List<String> list1;
private List<String> list2;
// Getters/setters
}
然后,当您使用两个列表填充对象时,您的 Gson 调用将如下所示:
String json_obj = gson.toJson(customObjResp);
关于java - 将两个 java 列表传递给 GSON/JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15792145/