如何从数组字符串中提取内部字符串
我有以下字符串,包含一个包含字符串的数组:
'["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
示例一样。