Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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_Arrays_Json_Parsing_Undefined - Fatal编程技术网

在javascript中解析数组响应

在javascript中解析数组响应,javascript,arrays,json,parsing,undefined,Javascript,Arrays,Json,Parsing,Undefined,我正在处理一个API请求,在那里我得到一个http.response,它是一个包含一个json对象的数组。但当我试图解析它或将其字符串化时,我会使用以下代码: var response = http.response; try{ var json = JSON.stringify(response); logInfo("status: " + json.status); } catch(e) { logInfo(e); } …我得到此日志的原因是:状态:未定义 如何定

我正在处理一个API请求,在那里我得到一个http.response,它是一个包含一个json对象的数组。但当我试图解析它或将其字符串化时,我会使用以下代码:

  var response = http.response;

try{
    var json = JSON.stringify(response);
    logInfo("status: " + json.status);
  } catch(e) { logInfo(e); }
…我得到此日志的原因是:
状态:未定义

如何定义该值?该值取自我网页上的用户,可以更改

这是我从请求中得到的响应:

[
{
"status": "DONE",
"plannedDeliveryDate": "2017-06-27",
"orderId": 2112312,
"userId": 123123
}
]
这是我的GET代码的其余部分:

loadLibrary("cus:json3.js"); 


var query = xtk.queryDef.create(
  <queryDef operation="select" schema={vars.targetSchema}>
    <select>
      <node expr="@userNumber"/>
    </select>
  </queryDef>
);

var res = query.ExecuteQuery();

//Buffer the auth key
var buffer = new MemoryBuffer();
buffer.fromString("username:password", "utf-8");

for each (var line in res) {

  var http = new HttpClientRequest();
  http.header["Authorization"] = "Basic " + buffer.toBase64(); //Basic Auth
  this.baseURL = "https://url..../data?user_id=" + line.@userNumber;
  http.url = this.baseURL;
  http.method = "GET"; //The GET request
  http.execute();

  var response = http.response;

try{
    var json = JSON.parse(response);
    logInfo("status: " + json[0].status);
  } catch(e) { logInfo(e); }
}
loadLibrary(“cus:json3.js”);
var query=xtk.queryDef.create(
);
var res=query.ExecuteQuery();
//缓冲验证密钥
var buffer=newmemorybuffer();
fromString(“用户名:密码”,“utf-8”);
对于每个(以res表示的var行){
var http=new-HttpClientRequest();
http.header[“Authorization”]=“Basic”+buffer.toBase64();//Basic Auth
this.baseURL=”https://url..../data?user_id=“+行。@userNumber;
http.url=this.baseURL;
http.method=“GET”//GET请求
http.execute();
var-response=http.response;
试一试{
var json=json.parse(响应);
logInfo(“状态:+json[0]。状态);
}catch(e){logInfo(e);}
}
解析您使用的json

JSON.parse(response);


如果要解析JSON,为什么要使用
stringify
而不是
parse
?此外,我们还需要查看其余的获取代码,因为这很可能与从异步操作返回数据有关。@Andy这有什么关系?它仍然无法工作,因为他试图访问没有索引的数组对象?嗯,这很重要,因为如果数据没有被解析,任何访问数据的代码都无法工作。我同意我会更新答案什么是
HttpClientRequest
JSON.stringify() does the opposite, it converts data into json