Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从数组字符串中提取内部字符串_Javascript_Jquery - Fatal编程技术网

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

Javascript 如何从数组字符串中提取内部字符串,javascript,jquery,Javascript,Jquery,我有以下字符串,包含一个数组,包含一个字符串: '["sgrdalal21"]' 如何提取内部字符串?作为'[“sgrdalal21”]'作为字符串,可用于构造JavaScript值或对象 var obj = JSON.parse('["sgrdalal21"]'); var str = obj[0]; //Use index to access the element 您拥有的是一个JSON字符串: var json = '["sgrdalal21"]'; 您必须将其解析为JSON

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

   '["sgrdalal21"]'
如何提取内部字符串?

作为
'[“sgrdalal21”]'
作为字符串,可用于构造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()
对错误输入抛出异常,必须与
try/catch
一起使用,以避免整个应用程序崩溃:

var array;
try {
  array = JSON.parse(json);
} catch (e) {
  // handle error
}
您还可以使用:

var array = tryjson.parse(json);
这将自动为您做到这一点。现在您可以使用:

var string = array && array[0];

如果JSON无效或者数组不包含任何元素,这里的
字符串
变量将是
未定义的
,或者将等于内部字符串,就像上面的第一个示例中的
try/catch
一样。

简单读取其第一个索引
var str=[“sgrdalal21”][0]
Thanx@Satpal,但是它只给我这个字符
[
那么
[“sgrdalal21”]
是一个字符串而不是数组。测试一次JSON.parse('[“sgrdalal21”]')[0]
Yehh,是字符串,Thanx@Satpal。但这个问题与您标记的Bro不同!我不会感到惊讶,这样的数据是双重编码的结果。如果是这样的话,只要有可能,最好只是修复生成数据的代码,而不是在上面添加解决方法。