gpt4 book ai didi

java - 使用 JSON、jQuery、AJAX 和 Java 返回多个值

转载 作者:搜寻专家 更新时间:2023-10-31 20:21:43 25 4
gpt4 key购买 nike

我正在尝试使用多个值从我的服务器返回到 Java 中的 AJAX。目前,我使用这种方法,但这不是一个好的解决方案:

Javascript:

success: function(list) {
var firstValue = list[0];
var secondValue = list[1];
var thirdValue = list[2];
}

Java:

ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String>>();
list.add(infoFirstValue());
list.add(infoThirdValue());
list.add(infoThirdValue());
String glist = gson.toJson(list);
response.getWriter().write(glist);

是否可以返回几个值或一个对象或其他解决方案?

最佳答案

如果有帮助,下面是一些基于您上面的代码片段,展示了如何切换到对象样式响应而不是数组。 Gson 包含 JsonObject 类,这可能是您使用起来最简单的东西:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/JsonObject.html

然而,Gson 的方式比这更强大——您实际上可以直接序列化一个普通的旧 Java 对象,这可能比将现有数据转换为 JsonObject 的中间步骤更优雅(请参阅这个现有的答案:https://stackoverflow.com/questions/1668862/good-json-java-library/1668951#1668951)。至少,info*Value() 方法可能更适合用作您正在序列化的对象的方法。我认为您可以传递对象并访问其属性,而不是将返回的对象属性存储为 JavaScript 中的功能范围变量。

Java

JSONObject rv = new JSONObject();
rv.add("firstValue", infoFirstValue());
rv.add("secondValue", infoSecondValue());
rv.add("thirdValue", infoThirdValue());

String gobject = gson.toJson(rv);
response.getWriter().write(gobject);

JavaScript

success: function(obj){
var firstValue = obj.firstValue;
var secondValue = obj.secondValue;
var thirdValue = obj.thirdValue;
}

关于java - 使用 JSON、jQuery、AJAX 和 Java 返回多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13933504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com