簡體   English   中英

從api獲取json時變量未定義

[英]Variable undefined when getting json from api

我想知道為什么當我嘗試在json中獲取變量時卻給我未定義的含義。

這是我正在執行的代碼:

var options = {
  host: url,
  path: '/api/v1/outside_processes/active_companies?process_token=' + process_token,
  method: 'POST'
};

http.request(options, function(res) {
  res.setEncoding('utf8');
  res.on('data', function (data) {
    console.log(data);
    console.log(data.data);
    console.log(data["data"]);
    console.log(data.paging);
  });
}).end();

來自api的json:

{
"data": [
    {
        "id": 37
        ...more data
    },
    {
        "id": 15,
          ...more data
    }
],
"paging": 0
}

我在控制台中得到什么:

{“ data”:[{所有數據都顯示在這里}],“ paging”:0}

未定義

未定義

未定義

看起來您的路線正在返回字符串化的JSON。

嘗試

jsonData = JSON.parse(data)
console.log(jsonData)
console.log(jsonData.data)
console.log(jsonData.paging)

控制台時,如果它是一個對象,則應顯示如下

Object {data: Array[2], paging: 0}

因為您的結果清楚地表明它是一個字符串,所以您需要按照上述答案進行解析

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM