我有以下字符串,包含一个包含字符串的数组:
'["sgrdalal21"]'
如何提取内部字符串?
答案 0 :(得分:2)
将'["sgrdalal21"]'
表示为字符串,JSON.parse()
可用于构造JavaScript值或对象。
var obj = JSON.parse('["sgrdalal21"]');
var str = obj[0]; //Use index to access the element
答案 1 :(得分:1)
你拥有的是一个JSON字符串:
var array, string;
try {
array = JSON.parse(json);
string = array[0];
} catch (e) {
// handle error
}
您必须将其解析为JSON才能拥有普通数组。 然后你可以访问数组中的字符串:
JSON.parse()
请记住,无论何时解析您不确定有效的JSON字符串(通常是这种情况),您始终必须将try/catch
调用包含在JSON.parse()
块内,否则您的应用程序将在无效的JSON上崩溃。我注意到人们很少在示例中处理JSON.parse()
错误,然后人们对他们的服务器崩溃并且不知道原因感到惊讶。这是因为try/catch
会在错误的输入上抛出异常,并且必须与var array;
try {
array = JSON.parse(json);
} catch (e) {
// handle error
}
一起使用才能避免崩溃整个应用:
var array = tryjson.parse(json);
您也可以使用tryjson
:
var string = array && array[0];
将自动为您执行此操作。现在你可以使用:
string
这里undefined
变量将是try/catch
如果JSON无效或数组不包含任何元素,或者将等于内部字符串,就像第一个带{的例子一样{1}}以上。