如何将Array String转换为数组?

时间:2016-01-28 08:02:07

标签: javascript jquery

有没有最好的方法将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

4 个答案:

答案 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