我有一個字符串: [[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]
轉換字符串(看起來像數組)多維數組
我怎樣才能將其轉換爲一個多維數組?
我有一個字符串: [[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]
轉換字符串(看起來像數組)多維數組
我怎樣才能將其轉換爲一個多維數組?
您可以使用JSON.parse()
將字符串轉換成一個對象,假設它是有效的JSON開始。您的數據包含由單引號分隔的字符串,這不是有效的JSON。如果你用雙引號替換它們,然後它會工作...
var s = "[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]";
var ar = JSON.parse(s.split("'").join("\""));
console.log(ar);
如何做這樣的事情:
function stringToObject(data) {
var converted = {};
try {
converted = JSON.parse(data);
} catch(err) {
console.log('Provided data is not valid', err);
}
return converted;
}
console.log(stringToObject('[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],"SMTH 123",35]'));
console.log(stringToObject('[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231')); // invalid string
請注意在我變'成「我的樣本,如果這是一個問題,你可以看看在另一個答案爲這個問題做了轉換。
假設jQuery是還行ay:
var arr = $.parseJSON('[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]')
如果您已經爲此編寫了代碼,但您無法工作,那麼您來對地方了。只需將您的代碼(或相關部分)添加到問題中,因爲沒有這些,我們就無法提供幫助。請參閱https://stackoverflow.com/help/how-to-ask –
請解釋一下你想要的輸出應該是什麼樣子.... – Stuart
你可以,如果你在PHP編程使用'json_decode'。 –