2016-12-27 20 views
-4

我有以下字符串內部串,包含數組,包含字符串:如何提取從陣列串

'["sgrdalal21"]' 

如何可以提取內部串?

+0

簡單閱讀它的第一個索引var str = [「sgrdalal21」] [0]' – Satpal

+0

Thanx @Satpal,但它給我只有這個字符'['' –

+2

然後'[「sgrdalal21」]'是一個字符串不是陣列。測試一次'JSON.parse('[「sgrdalal21」]')[0]' – Satpal

回答

2

作爲'["sgrdalal21"]'作爲字符串,JSON.parse()可用於構造JavaScript值或對象。

var obj = JSON.parse('["sgrdalal21"]'); 
var str = obj[0]; //Use index to access the element 
1

你有什麼是JSON字符串:

var json = '["sgrdalal21"]'; 

你必須分析它作爲JSON有一個普通的數組。 然後你可以在陣列中訪問字符串:

var array, string; 
try { 
    array = JSON.parse(json); 
    string = array[0]; 
} catch (e) { 
    // handle error 
} 

請記住,只要你解析你不能確定是有效的(通常情況下)JSON字符串,那麼你將永遠有包裹JSON.parse()通話在try/catch區塊內,否則您的應用將在無效的JSON上崩潰。我注意到,人們很少在示例中處理JSON.parse()錯誤,然後人們驚訝於他們的服務器崩潰並且不知道爲什麼。這是因爲JSON.parse()拋出壞輸入異常,並已與try/catch被用來避免崩潰整個應用程序:

var array; 
try { 
    array = JSON.parse(json); 
} catch (e) { 
    // handle error 
} 

您還可以使用tryjson爲:

var array = tryjson.parse(json); 

會爲你做的自動。現在你可以使用:

var string = array && array[0]; 

這裏的string變量是undefined如果JSON是無效或數組不包含任何元素,或將等於內部串,就像在第一個例子中使用以上爲try/catch