将字符串的Java数组列表转换为JavaScript数组
Converting a Java ArrayList of strings to a JavaScript array
在我的Java代码中,我有一个String
s的ArrayList
。我想把这些数据放在我正在处理的JSP页面上的JavaScript变量中。我的第一个想法是直接包含它,例如:
var myArray = <%= arrayList %>;
不幸的是,执行时,myArray
是格式为[a,b,c]
的字符串,而不是实际的JavaScript数组。如何将一些数据从Java ArrayList
获取到JavaScript数组?
使用库:
Java:
public static String toJavascriptArray(String[] arr){
StringBuffer sb = new StringBuffer();
sb.append("[");
for(int i=0; i<arr.length; i++){
sb.append("'"").append(arr[i]).append("'"");
if(i+1 < arr.length){
sb.append(",");
}
}
sb.append("]");
return sb.toString();
}
JSP:
var myArray = <%= toJavascriptArray(arrayList) %>;
当您使用<%=arraylist%>
时,它会调用列表上的toString()
并打印[a,b,c]
不,您不能直接将From Java arrayList
转换为javascript数组,将Java ArrayList
转换为JSON String
,并使用JSON.parse()
获得javascript object
。
查看java中的Json objet和Json
在JSP页面中执行以下操作
<% List<String> strList = new ArrayList<String>();
strList.add("one");
strList.add("two");
strList.add("three"); %>
var jsArray = [<% for (int i = 0; i < strList.size(); i++) { %>"<%= strList.get(i) %>"<%= i + 1 < strList.size() ? ",":"" %><% } %>];
输出将是
var jsArray = ["one","two","three"];
如果您的列表为空,它将输出
var jsArray = [];
JavaScript split()方法返回一个数组,因此它是将Java ArrayList转换为JavaScript数组的一种简单方法。
function toJavascript(){
var array="<%=javaArrayList%>";
array=array.replace("[", "");
array=array.replace("]", "");
return javaArray.split(",");
}
试试这个方法:
var myArray = <%=net.sf.json.JSONSerializer.toJSON(arrayList) %>;
简单
var jsArray = JSON.parse(yourJavaListObject)
相关文章:
- 使用JS将数组转换为json对象
- 本地存储中的字符串到字节数组转换
- Javascript函数,用于将数组转换为“;2-元组”;
- php数组转换为javascript
- 在Javascript中将一个值和字符串数组转换为if语句
- 将数组转换为javascript格式的字符串
- 如何将数组转换为有效的json
- JSON数组转换为JS对象数组
- 如何将数组转换为映射
- JavaScript:将字符串数组转换为文本区域
- javascript |数组转换
- 数组转换为多个字符串
- Javascript将数组转换为字符串并使其反向输出
- 将Byte数组转换为Angularjs中的Base64字符串
- 将对象数组转换为与nodejs/pg/unnest兼容的数组
- 将Javascript数组转换为PHP数组
- 将数组转换为键值对
- 使用Ramda将对象数组转换为普通对象
- javascript将对象数组转换为字符串以存储在s3中
- 使用.join方法将数组转换为不带逗号的字符串