转换JSON数组[阵列[字符串]以Java数组 [英] Convert JSON array[array[String]] to Java array

查看:166
本文介绍了转换JSON数组[阵列[字符串]以Java数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个JavaScript的JSON数组[阵列[字符串]名为 jsonArray 在我的 JSP1.jsp

I have a JavaScript JSON array[array[String]] called jsonArray in my JSP1.jsp.

我使用的转换 jsonArray 为字符串 jsonArrayStr JSON.stringify(JSONArray),其中 JSP1.jsp

I am converting jsonArray to a String jsonArrayStr using JSON.stringify(jsonArray) in JSP1.jsp.

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

I am passing jsonArrayStr as a parameter while calling another JSP JSP2.jsp this way-

"JSP2.do?jsonArrayStr="+jsonArrayStr

JSP2.jsp ,我这样做 -

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

现在我怎么转换 jsonArrayStr Java数组 JSP2.jsp 没有按'T包含任何JavaScript code)

Now how do I convert jsonArrayStr to Java array (JSP2.jsp doesn't contain any JavaScript code)

摘要 -

我有一个JavaScript的JSON数组一个 JSP1.jsp ,我想访问在 JSP2.jsp一个普通的Java数组/数组列表。我如何做到这一点?

I have a JavaScript JSON Array in a JSP1.jsp, which I want to access as a normal Java array/arraylist in JSP2.jsp. How do I achieve this?

推荐答案

OK,让你有一个字符串的二维数组重新psented作为JSON这样存储在Java字符串$ P $:

OK, so you have a two-dimensional array of strings represented as a JSON like this stored in a Java String:

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

您需要以某种方式解析或反序列化的值转换成Java的String [] []。您可以使用像一个图书馆从 http://www.json.org/java/index.html HTTP://jackson.$c$chaus.org/ 或者你可以尝试做手工。手动可能是一个有点棘手,但并非不可能。该json.org库非常简单,可能是不够好。在code会是这样的(我还没试过/测试这一点):

You need to somehow parse or "deserialize" that value into a Java String[][]. You can use a library like from http://www.json.org/java/index.html or http://jackson.codehaus.org/ or you can try to do it manually. Manually could be a little tricky but not impossible. The json.org library is very simple and might be good enough. The code would be something like this (I haven't tried/tested this):

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;
}

这篇关于转换JSON数组[阵列[字符串]以Java数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆