如何从数组字符串中提取内部字符串

我有以下字符串,包含一个包含字符串的数组:

'["sgrdalal21"]' 

如何提取内部字符串?

作为'["sgrdalal21"]'作为字符串, JSON.parse()可用于构造JavaScript值或对象。

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

你有一个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()会抛出错误输入的exception,并且必须与try/catch一起使用以避免崩溃整个应用程序:

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

你也可以使用tryjson

 var array = tryjson.parse(json); 

那将自动为你做到这一点。 现在你可以使用:

 var string = array && array[0]; 

如果JSON无效或者数组不包含任何元素,或者将等于内部字符串,那么string变量将是undefined的,就像上面第一个带有try/catch示例一样。