我創建的JSP以下字符串響應:如何將字符串數組響應轉換爲JavaScript 2D數組?
[[[1,2,3,4],[5,6,7,8]],[[9,10,11,12],[13,14,15,16]]]
並獲得jQuery的這種反應。
但我得到它作爲一維數組,我需要數組像只
我得到的輸入反應
var a = "[[[1,2,3,4],[5,6,7,8]],[[9,10,11,12],[13,14,15,16]]]";
我創建的JSP以下字符串響應:如何將字符串數組響應轉換爲JavaScript 2D數組?
[[[1,2,3,4],[5,6,7,8]],[[9,10,11,12],[13,14,15,16]]]
並獲得jQuery的這種反應。
但我得到它作爲一維數組,我需要數組像只
我得到的輸入反應
var a = "[[[1,2,3,4],[5,6,7,8]],[[9,10,11,12],[13,14,15,16]]]";
兩種可能的方法:
var arr = JSON.parse(a);
var arr = eval(a);
但是,如果字符串不是由腳本本身生成的,則不推薦使用'eval'。 (儘管我的答案已+1) –
@Derek:是和否。前端的'eval'比後端的'eval'少很多麻煩;但是您必須謹慎,因爲它是XSS的入口點。只要您的變量('a')從可信來源填充,您的用戶就不必擔心。 「eval」的另一個缺點是內在的性能問題,因爲瀏覽器必須重新解釋代碼。 – vol7ron
你得到JSON,這是一個字符串。您需要將其解析爲JavaScript對象。
var object_a = JSON.parse(a);
要創建從它的字符串表示一個任意嵌套陣列(或JSON支持的任何對象,就此而言),則可以使用JSON.parse
方法。
var arr = JSON.parse("[[[1,2,3,4],[5,6,7,8]],[[9,10,11,12],[13,14,15,16]]]");
試試這個:
var data = JSON.parse(arr):
使用JSON.parse
:
對於IE8以下的支持,請使用jQuery。 (幸運的是,如果你的網站已經在使用jQuery!;)
)
那最有可能是JSON數據,所以看看使用json庫,或者作爲最差的+最後一個努力'eval()'它。 –
Javascript沒有2D數組...你可以有數組的數組,但是你可以在你的例子中獲得這個數組, –
var set = eval(a)=>然後你可以使用set [0] [0 ]來獲得你的第一組數據集[0] [0] [2] == 3 –