有没有最好的方法将String转换为Array。
我正在使用Spring mvc并从javascript调用ajax并获得String live
var result = "[[a,b,c],[d,e,f]]"
我想在数组中转换此String,如
var resultArray = [[a,b,c],[d,e,f]]
当我找到长度时我想得到2
答案 0 :(得分:0)
您需要使用JSON.parse
var resultArray = JSON.parse('[["a","b","c"],["d","e","f"]]');
您可以使用resultArray.length获取大小
选中此http://www.w3schools.com/jsref/jsref_length_array.asp
当然这个字符串" [[a,b,c],[d,e,f]]" 无法正常工作因为不是正确的JSON字符串,每个字符串单词必须在双引号之间
答案 1 :(得分:0)
之前我正在返回列表列表,如
List<List<String>> list = new ArrayList<List<String>>();
因此,在JSON解析期间,它在jQuery函数中出现错误,因为我得到了&#34; [[a,b,c],[d,e,f]]
&#34;而不是双引号(&#34; a&#34;)。然后我更改了后端代码,它返回JsonArray的JsonArray,如[["a","b","c"],["d","e","f"]]
,现在我能够解析JSON。
JSONArray outerJsonArray = new JSONArray();
JSONArray innerJsonArray = new JSONArray();
innerJsonArray.put("a");
innerJsonArray.put("b");
innerJsonArray.put("c");
outerJsonArray.put(innerJsonArray);
innerJsonArray.put("d");
innerJsonArray.put("e");
innerJsonArray.put("f");
outerJsonArray.put(innerJsonArray);
并返回outerJsonArray.toString()
答案 2 :(得分:0)
如果你的结果每次都有一个“]的唯一方法。[”...
然后只有 - &gt;这JSFiddle会对你有用吗。
代码:
HTML:
<div class="a"></div>
<div class="b"></div>
JS(使用JQUery V. 1.11:
var result = "[[a,b,c],[d,e,f]]"
var splitter = result.split('],[');
var arr = [];
$.each(splitter, function(i, e){
var arrElement = e;
while(arrElement.indexOf(']') > -1){
arrElement = arrElement.replace(']', '');
}
while(arrElement.indexOf('[') > -1){
arrElement = arrElement.replace('[', '');
}
arr.push(arrElement);
});
$('.a').text(arr[0]);
$('.b').text(arr[1]);
答案 3 :(得分:-1)
你可以使用JSON.parse(&#34; [[a,b,c],[d,e,f]]&#34;)或eval,但我推荐JSON.parse