Javascript 从字符串返回中提取数组

Javascript 从字符串返回中提取数组,javascript,php,arrays,Javascript,Php,Arrays,我可以从字符串变量中提取数组吗: HTTP/1.1 200 OK Server: YYYYYYYYY Content-Type: application/json Content-Length: 163 X-OAPI-Request-Id: XXXXXXXXXXXXXX { "token_type": "berber", "access_token": "XXXXXXXXYYYYYYY", "expires_in": "7776000" } 我想获得具有令牌类型、访问令牌、过期的数

我可以从字符串变量中提取数组吗:

HTTP/1.1 200 OK
Server: YYYYYYYYY
Content-Type: application/json
Content-Length: 163
X-OAPI-Request-Id: XXXXXXXXXXXXXX
{
  "token_type": "berber",
  "access_token": "XXXXXXXXYYYYYYY",
  "expires_in": "7776000"
}

我想获得具有令牌类型、访问令牌、过期的数组。

您可以编写小字符串切割器,然后将其转换为json

conststr=`HTTP/1.1200ok
服务器:yyyyyyy
内容类型:application/json
内容长度:163
X-OAPI-Request-Id:XXXXXXXXXXXXXXXXX
{
“令牌类型”:“berber”,
“访问令牌”:“XXXXXXXXYYYYYY”,
“到期日”:“7776000”
}`;
让结果=str.substring(str.indexOf('{'),str.indexOf('}')+1);
result=JSON.parse(result);
控制台日志(结果);

console.log(result.token\u type)
它是一种json,因此您可以删掉非json的部分,并使用json\u decode对其进行解码

$arr = json_decode(substr($str,strpos($str,"{")), true);
Var_dump($arr);
在这里,我将从“{”发送到字符串的末尾,并对json_进行解码,返回:

以下是从外部网站加载内容的示例:

<?php
    $page = file_get_contents( "http://urlyouused" );
    $array = json_decode( $page, true );
    print_r( $array);
?>

使用仅获取JSON对象。需要使用s标志,以便返回的行不会结束搜索。基本上,它试图捕获构成JSON对象的花括号和括号内的任何内容。JSON_解码中的true标志再次返回数组而不是对象。

我没有看到任何数组ant将您的对象转换为数组,这就是您要问的?您需要解释您是如何得到这个结果的,以及您标记的两种语言中的哪种语言是您想要处理它的。此外,您需要包括您迄今为止尝试过的内容。令人惊讶的是,我们如何用不同的语言给出相同的答案。不向上投票是错误的。这不会起作用k、 至少在PHP中不是。Hmmm。我实际上设置了它并运行了脚本,它在PHP.Odd中对我起作用。它不应该这样,因为它不是真正的json,至少在startAs中不是字符串。但是如果从web服务器中提取它,字符串将不包括标题,只包括正文。我输入了第二个答案,说明只有一个字符串,但是我想包括我的第一个答案,以防OP可能首先从网页加载它(由顶部的http头指示)。
preg_match( "#(\{.*\})#is", $string, $results );
$array = json_decode( $results[0], true );
print_r( $array );