gpt4 book ai didi

java - 将 JSON 数组[array[String]] 转换为 Java 数组

转载 作者:行者123 更新时间:2023-11-30 11:36:01 24 4
gpt4 key购买 nike

我的 JSP1.jsp 中有一个名为 jsonArray 的 JavaScript JSON 数组 [array[String]]。

我在 JSP1.jsp 中使用 JSON.stringify(jsonArray)jsonArray 转换为字符串 jsonArrayStr .

我将 jsonArrayStr 作为参数传递,同时以这种方式调用另一个 JSP JSP2.jsp-

"JSP2.do?jsonArrayStr="+jsonArrayStr

JSP2.jsp中,我这样做-

String jsonArrayStr = request.getParameter("jsonArrayStr");

现在如何将 jsonArrayStr 转换为 Java 数组(JSP2.jsp 不包含任何 JavaScript 代码)

总结-

我在 JSP1.jsp 中有一个 JavaScript JSON 数组,我想在 JSP2.jsp 中将其作为普通 Java 数组/数组列表进行访问。我如何实现这一点?

最佳答案

好的,所以你有一个二维字符串数组,表示为像这样存储在 Java 字符串中的 JSON:

[["a", "b", "c"],["x"],["y","z"]]

您需要以某种方式将该值解析或“反序列化”为 Java String[][]。您可以使用来自 http://www.json.org/java/index.html 的库或 http://jackson.codehaus.org/或者您可以尝试手动进行。手动可能有点棘手,但并非不可能。 json.org 库非常简单,可能已经足够好了。代码将是这样的(我还没有尝试/测试过):

JSONArray jsonArray = new JSONArray(jsonArrayStr); // JSONArray is from the json.org library
String[][] arrayOfArrays = new String[jsonArray.length()][];
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray innerJsonArray = (JSONArray) jsonArray.get(i);
String[] stringArray = new String[innerJsonArray.length()];
for (int j = 0; j < innerJsonArray.length(); j++) {
stringArray[j] = innerJsonArray.get(j);
}
arrayOfArrays[i] = stringArray;
}

关于java - 将 JSON 数组[array[String]] 转换为 Java 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14765936/

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