[英]Convert JSON array[array[String]] to Java array
我有一個JavaScript JSON陣列[數組[字符串]所謂jsonArray
我JSP1.jsp
。
我將jsonArray
為String jsonArrayStr
使用JSON.stringify(jsonArray)
在JSP1.jsp
。
我JSP2.jsp
這種方式調用另一個JSP JSP2.jsp
時傳遞了jsonArrayStr
作為參數-
"JSP2.do?jsonArrayStr="+jsonArrayStr
在JSP2.jsp
,我正在這樣做-
String jsonArrayStr = request.getParameter("jsonArrayStr");
現在如何將jsonArrayStr
轉換為Java數組 ( JSP2.jsp
不包含任何JavaScript代碼)
摘要-
我有一個一個JavaScript JSON陣列JSP1.jsp
,我想訪問作為一個正常的Java數組/數組列表JSP2.jsp
。 我該如何實現?
好的,因此在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;
}
像這樣
ArrayList<String> strings= new ArrayList<String>();
JSONArray jsonArray = (JSONArray)jsonObject;
if (jsonArray != null) {
int len = jsonArray.length();
for (int i=0;i<len;i++){
list.add(jsonArray.get(i).toString());
}
}
String[] Stringarray = strings.toArray(new String[strings.size()]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.